async await 同时发起多个异步请求的方法

    @action getBaseInfo = async() => {
        let baseInfo;
        try {
            baseInfo = await getBaseInfo(this.id);
            if (baseInfo) {
                this.baseInfo = baseInfo;
                // 发起请求后拿到 promise
                const visitedPromise = getVisitedCount(this.id);
                const subscribedPromise = getSubscribedCount(this.id);
                const connectionPromise = getConnection(this.id);
                // 等待 promise 返回再进行操作
                baseInfo.visitedCount = await visitedPromise;
                baseInfo.subscribedCount = await subscribedPromise;
                const connection = await connectionPromise;
                baseInfo.phoneNumber = connection.phoneNumber;
                baseInfo.email = connection.email;

                this.baseInfo = baseInfo;
            }
        } catch (e) {
            throwError(e);
        }
    };
    

多个请求的时候不使用 await,而是拿到请求的 promise,将 await 用在 promise 上,等待 promise 返回

猜你喜欢

转载自www.cnblogs.com/3body/p/9340282.html