11-1
promise的本质就是为解决回调地域问题(会将函数的状态暂停/凝结/冻结)
有两种状态:**resolve 处理成功的情况 用then**函数触发
**reject 处理失败的情况 用catch**函数触发
var p=new Promise((resolve,reject)=>{
resolve(1);
reject(2);
})
p.then(res=>{
console.log(res);
}).catch(err=>{
console.log(err);
})
11-2 promise,async,await
async是协同Promise工作的,放置在函数前面,返回一个Promise对象,关键词**await可以让JavaScript进行等待,直到一个promise执行并返回它的结果,JavaScript才会继续往下执行,await只能在async定义的函数内部执行。**
<script>
var a=new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve(1)
},2000)
})
var b=new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve(2)
},1000)
})
/*
promise函数执行
1.then
2.在aysnc函数中,通过await语句取执行
*/
async function go(){
var res=await a;
console.log(res);
var sum=await b;
console.log(sum);
}
/*
在函数前面加上async
1.这个函数的返回值就是promise
2.可以在函数中使用await关键字
*/
go();
</script>