@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 返回