async await 的用法

async函数返回一个 Promise 对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。

下面代码是一个获取股票报价的函数,函数前面的async关键字,表明该函数内部有异步操作。调用该函数时,会立即返回一个Promise对象。

 

async function getStockPriceByName(name) {
  const symbol = await getStockSymbol(name);
  const stockPrice = await getStockPrice(symbol);
  return stockPrice;
}

getStockPriceByName('goog').then(function (result) {
  console.log(result);
});

 

例子:指定多少毫秒后输出一个值

 

 1 function timeout(ms) {
 2   return new Promise((resolve) => {
 3     setTimeout(resolve, ms);
 4   });
 5 }
 6 
 7 async function asyncPrint(value, ms) {
 8   await timeout(ms);
 9   console.log(value);
10 }
11 
12 asyncPrint('hello world', 50);

 

posted @ 2018-05-18 18:47  雨落忧伤-  阅读(273)  评论(0编辑  收藏  举报