[英]javascript await on multiple chained async functions
說我有以下內容:
const a = new A();
await a.getB().action();
A.prototype.getB()
與B.prototype.action()
一樣async
。 如果我試圖等待函數的鏈接我得到一個錯誤: TypeError: a.getB(...).action is not a function
。
如果我分離功能的鏈接和等待每個承諾它工作正常。 有沒有辦法將這些承諾聯系在一起並等待它們?
這是因為getB
是一個異步函數,不返回B對象,而是返回沒有action
方法的Promise
對象。 此承諾將通過B對象進一步解決,您可以通過使用PVermeer建議的then
方法捕獲它來訪問已解析的值。
你需要等待下擺:
const a = new A();
const b = await a.getB();
await b.action();
要么
const a = new A();
await a.getB().then(b => b.action());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.