this.$confirm里面使用await异步调取接口数据 或者 异步接口then里面使用await/promise

this.$confirm里面使用await异步调取接口数据 或者 异步接口then里面使用await/promise
只需在then的回调方法/匿名方法里添加一个async标记就可以了。

xxx.then(async () => {
    var workOrder = await this.getWorkOrderByNo(productTrace.workOrderNo);
})

原理:同一作用域内async才能使用await。

再看下面的例子,可以实现每隔1秒执行一次任务。即实现Sleep。

复制代码
            for(var item of data) {
                await new Promise(async (resolve) => {
                    this.batchPrintBoxCode(
                        item.boxCode,
                        item.goodsCode,
                        batchNo,
                        item.qty,
                        item.creationTime,
                        item.creatorUserId,
                        this.boxCodeInfoObj.specification,
                        '',
                        item.seriesNo,
                        item.lotNo
                    );
                    setTimeout(() => {
                        resolve("ok");
                    }, 1000);
                });
            }
            this.reprintBoxCodeBtnLoading = false
复制代码

 

posted @   屌丝大叔的笔记  阅读(1132)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示