javascript 等待多个链式异步函数
javascript await on multiple chained async functions
假设我有以下内容:
const a = new A();
await a.getB().action();
A.prototype.getB()
是 async
以及 B.prototype.action()
。
如果我尝试等待函数的链接,我会收到错误消息:
TypeError: a.getB(...).action is not a function
.
如果我将函数的链接分开并等待每个承诺,它就可以正常工作。
有没有办法将这些承诺链接在一起并等待它们?
你需要等待下摆:
const a = new A();
const b = await a.getB();
await b.action();
或者
const a = new A();
await a.getB().then(b => b.action());
这是因为 getB
是一个异步函数,不是 return B 对象而是 Promise
没有 action
方法的对象。这个承诺将通过 B 对象进一步解析,您可以通过使用 PVermeer 提议的 then
方法捕获它来访问解析的值。
假设我有以下内容:
const a = new A();
await a.getB().action();
A.prototype.getB()
是 async
以及 B.prototype.action()
。
如果我尝试等待函数的链接,我会收到错误消息:
TypeError: a.getB(...).action is not a function
.
如果我将函数的链接分开并等待每个承诺,它就可以正常工作。 有没有办法将这些承诺链接在一起并等待它们?
你需要等待下摆:
const a = new A();
const b = await a.getB();
await b.action();
或者
const a = new A();
await a.getB().then(b => b.action());
这是因为 getB
是一个异步函数,不是 return B 对象而是 Promise
没有 action
方法的对象。这个承诺将通过 B 对象进一步解析,您可以通过使用 PVermeer 提议的 then
方法捕获它来访问解析的值。