async函式的返回值
阿新 • • 發佈:2020-12-24
async函式其實是Geneator函式的語法糖。
1.async函式的返回值是Promise物件,可以用then方法指定下一步的操作。async函式可以看做多個非同步操作,包裝成一個Promise物件,await命令就是內部then命令的語法糖。
2.async函式返回一個Promise物件,可以使用then方法添加回調函式。當函式執行的時候,一旦遇到await就會先返回,等到非同步操作完成,再接著執行函式體後面的語句。
例:
async function getStockPriceByName(name){ const symbol = await getStockSymbol(name); const stockPrice = await getStockPricd(symbol); return stockPrice; } getStockPriceByName('goog').then(function(res){ console.log(res); })
函式前面的async關鍵字,表明該函式內部有非同步操作。呼叫該函式時,會立即返回一個Promise物件。
3.返回Promise物件
async函式返回一個Promise物件。
async函式內部return語句返回的值,會成為then方法回撥函式的引數。
async function f(){ return 'hello world'; } f().then(v=>console.log(v)) // "hello world;"
參考資料:async函式的返回值