1. 程式人生 > 實用技巧 >async函式的返回值

async函式的返回值

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函式的返回值