js异步编程方案,在此作总结
-
promise
-
async/await
1.async函数用于声明异步函数,该函数返回一个Promise对象。
PS:如果被async声明的函数中不包含await关键字,那么该函数的执行过程就跟普通函数没有区别。
2.Promise.then 成功的情况 对应await
async function test1(){
let p1 = Promise.resolve(3);
//p1.then((data)=>{
// console.log(data)
//})
const data = await p1;//这行代码与上面注释掉的含义相同
console.log(data)
}
test1()
3.Promise.catch异常的情况 对应try catch
async function test2(){
let p1 = Promise.reject(3);
try{
const data = await p1;
console.log(data);
}catch(e){
console.error('e:',e);
}
}
test2();
- generator生成器函数