Appearance
基本用法
本节目标:理解“基本用法”的核心思路,并能把它用于实际开发或面试表达。
async函数返回一个 Promise 对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。如: async function getStockPriceByName(name)
`{`
`const` `symbol` `=` `await`getStockSymbol(name);
`const` `stockPrice` `=` `await`getStockPrice(symbol);
`return`stockPrice; } getStockPriceByName('goog').then(function
(result)
`{`console.log(result); });
调用该函数时,会立即返回一个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); 由于async函数返回的是 Promise 对象,可以作为await命令的参数。所以,上面的例子也可以写成下面的形式。 async function timeout(ms)
`{`
`await` `new`Promise((resolve)
`=>` `{`setTimeout(resolve,
ms);
}); } async
`function`asyncPrint(value,
ms)
`{`
`await`timeout(ms);
console.log(value); } asyncPrint('hello
world',
50);
