async/await 实例 Demo 例子

2019-11-04  本文已影响0人  QinHaolei
async function getStockPriceByName(name) {
  var symbol = await getStockSymbol(name);
  var stockPrice = await getStockPrice(symbol);
  return stockPrice;
}

getStockPriceByName('goog').then(function (result){
  console.log(result);
});
上面代码是一个获取股票报价的函数,函数前面的async关键字,表明该函数内部有异步操作。调用该函数时,会立即返回一个Promise对象。

function timeout(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });}

async function asyncPrint(value, ms) {
   await timeout(ms);
   console.log(value);
  }
asyncPrint('hello world', 50);
// 上面代码指定50毫秒以后,输出"hello world"。
function takeLongTime() {
    return new Promise(resolve => {
        setTimeout(() => resolve("long_time_value"), 1000);
    });
}

async function test() {
    const v = await takeLongTime();
    console.log(v);
}

test();
//await关键字只能用在aync定义的函数内。async函数会隐式地返回一个promise,该promise的reosolve值就是函数return的值。
上一篇下一篇

猜你喜欢

热点阅读