簡體   English   中英

Javascript異步/等待回調函數

[英]Javascript async/await callback function

我想知道 async/await 在以下兩個“超級基本”示例中的行為是否相同:

async function blah1() {
  return await foo.bar().then('Done');
}

作為這個

async function blah2() {
  return blah3(foo.bar());
}

async function blah3(fn) {
  return await fn.then('Done');
}

還是有一些重要的區別?

  • 是的,我知道 'return await' 是多余的,但我把它留在了這個例子中 :)
async function blah1() {
  return await foo.bar().then('Done');
}

blah1()

調用foo.bar ,它返回一個承諾, then添加一個承諾。

結果承諾被返回。

async function blah2() {
  return blah3(foo.bar());
}

async function blah3(fn) {
  return await fn.then('Done');
}

blah2()

調用foo.bar ,它返回一個承諾,它被傳遞給blah3 ,它添加了一個then

結果承諾從blah3返回到blah2 ,然后返回給調用者。

我會說沒有有意義的行為差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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