await
关键字只能放在有async
前缀的函数里用await
后面接一个会return new Promise
的函数,并调用这个函数 (async,await与promise结合使用)使用
async
和await
,如果代码里使用了异步函数,它会看起来更像标准的同步函数。也就是将异步写成同步的样式。 (async,await使异步函数看起来更像是同步函数)
Promise
下面代码示例为摇一个骰子
1 | function fn(){ |
promise.all()
1 | Promise.all([fn1(), fn2()]) //接收一个数组,数组里的每个函数都返回一个promise |
promise.race()
1 | Promise.all([fn1(), fn2()]) //接收一个数组,数组里的每个函数都返回一个promise |
async,await
1 | function fn(){ |
reject用法
下面代码示例为投骰子猜大小
1 | function 猜大小(x){ |
为什么用await
、async
而不用promise的.then
?
为了让异步代码看起来更像同步代码。这就是发明这个语法的初衷。
同时猜两个
用promise
写:
1 | function 猜大小(x){ |
用async
,await
写:(还是要用到promise)
1 | async function test(){ |