首页 > 解决方案 > javascript等待多个链式异步函数

问题描述

说我有以下内容:

const a = new A();
await a.getB().action();

A.prototype.getB()async和一样B.prototype.action()。如果我尝试等待函数链接,则会收到错误消息: TypeError: a.getB(...).action is not a function .

如果我要分离函数的链接并等待每个承诺,它就可以正常工作。有没有办法将这些承诺链接在一起并等待它们?

标签: javascriptnode.jsecmascript-2017

解决方案


你需要等待下摆:

const a = new A();
const b = await a.getB();
await b.action();

或者

const a = new A();
await a.getB().then(b => b.action());

推荐阅读