async/awaitf这种特殊的语法可以更舒适地与promise协同工作。
async-await是promise和generator的语法糖。
async-await 是建立在 promise机制之上的,并不能取代其地位。
Async的使用:
使用方法:
放置在函数的前面:async function demoFun () { return 1 }
含义:
这个函数总是返回一个promise.
promise中是没有return返回值的,只有resolve()成功回调与reject()失败回调
如果代码中有return (也就是非promise语句),JavaScript会自动把返回的这个value值包装成promise的resolved值。
如上示例中,返回为resolve为1的promise对象
两种写法:
方法定义:
async getData () {
return 1
},
async getDate () {
return Promise.resolve(2)
}
调用:
this.getData().then(res => {
alert(res)
})
this.getDate().then(res => {
alert(res)
})
Await
async确保了函数返回一个promise,即使其中包含非promise。
关键词await,只能在async函数里使用。
语法:
let value = await promise