Es6 async 函数
2018-10-09 本文已影响16人
IT锟
图片来源于网络
1、 async函数返回一个 Promise 对象。
async function f() {
return 'hello world';
}
f().then(v => console.log(v))
// "hello world"
2、async函数内部抛出错误,会导致返回的 Promise 对象变为reject状态。抛出的错误对象会被catch方法回调函数接收到。
async function f() {
throw new Error('出错了');
}
f().then(
v => console.log(v),
e => console.log(e)
)
// Error: 出错了
3、只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数。
//网络请求
function request(){
return $.ajax({
url:"./data.json",
type: 'post',
dataType: 'json',
success: function (data, status) {
return data
},
fail: function (err, status) {
return err
}
})
}
async function getData(){
let rquery = await request()
return rquery
}
// 调用
getData().then(
v => console.log(v),
e => console.log(e)
)