Promise、await链式调用

需求是:在方法一执行完成后再执行getchartAlarmNumber(),避免因为网络卡顿造成逻辑错误

方法一:在promise里一定要记得resolve();

        init1() {
                const that = this;
                return new Promise((resolve, reject) => {
                    if (that.istowel) {
                        util.HttpService.doPost({
                            url: util.Api.URL.URL_towerAlarmSuppress,
                            data: {
                                queryStartTime: that.currentParam.alarmTimeStart,
                                queryEndTime: that.currentParam.alarmTimeEnd,
                                // userId: util.UserInfo.getUserInfo().userId,
                            },
                            success: (res) => {
                                if (that.isoneday) {
                                    that.alarmSuppressNum = res.data[0].num;
                                    resolve(res.data[0].num); //告警压制 ;
                                } else {
                                    var data = res.data;
                                    var list = [];
                                    for (let i in data) {
                                        list.push(data[i].num);
                                    }
                                    console.log('告警压制chart接口', list);
                                    that.alarmSuppressNumList = list;
                                    resolve(list);
                                }
                            },
                            fail: (err) => {
                                console.log(err)
                            }
                        });

                    } else {
                        let numlistdata = [];
                        resolve(numlistdata); //告警压制
                    };
                });
            },

方法二:在方法前要加async 修饰,

    async init2() {
                    await that.init1();
                    //告警折线数量
                    console.log('我在init1数据获取之后执行');
                    that.getchartAlarmNumber();
            },

调用init2

                this.init2();
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容