1、基本用法
// 使用async/await获取成功的结果
// 定义一个异步函数,3秒后才能获取到值(类似操作数据库)
function getSomeThing(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve('获取成功')
},3000)
})
}
async function test(){
let a = await getSomeThing();
console.log(a)
}
test(); // 3秒后输出:获取成功
2、async 后面可以跟任何函数,await后只有跟promise函数,等待才有效。否则无效
(1)await后跟promise对象
var b=1;
function time(){
return new Promise((resolve,reject) => {
setTimeout(function(){
resolve(2)
},1000)
})
}
async function a(){
b =b + await time();
console.log('b',b)
}
a()
console.log('外',b)
结果:
(2)await后是非promise对象
var b=1;
function time(){
setTimeout(function(){
b++;
},1000)
}
async function a(){
await time();
console.log('b',b)
}
a()
console.log('外',b)
setTimeout(() => {
console.log('外2',b)
}, 2000);
结果:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。