簡體   English   中英

javascript等待多個鏈式異步函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM