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);
后果:
发表回复