先复习一下异步的概念:多个操作可以同时进行
了解了这个概念之后,介绍一下工作中经常用到的的promise
第十一个知识点:promise-----承诺
就是一个对象,用来传递异步操作的数据(消息)
peding(等待,处理中) ---> resolve(完成,fullFilled)
---->rejectd(拒绝,失败)
使用:
var p1 = new Promise(function(resolve,reject){
//resolve成功了
//reject失败了
});
var p1 = new Promise(function(resolvve,reject){
if(异步处理成功了){
resolve(成功的数据)
}else{
reject(失败原因)
}
})
p1.then(成功(resolve),失败(reject))
p1.then().then()中第二个.then是第一个.then返回的值promise用用:ajax配合promise
第十二个知识点:catch -----用来捕获错误
第十三个知识点:all ------全部,用于将多个Promise对象,组合,包装成一个全新的promise实例
所有的promise对象,都正确,才走成功
否则,只要有一个错误,是失败了
第十四个知识点:Promise.race ----返回也是一个promise对象
最先能执行的promise结果,哪个最快,用哪个
如:在异步的时候,哪个先过来就用哪个Promise.resolve() --------生成一个成功的promise对象
语法:Promise.resolve(value)
Promise.resolve(Promise)
第十五个知识点:Generrator -----生成器
是一个函数
可以遍历,Generrator就是一个状态机
语法:
function show(){ //普通函数
}
function* show(){ //generrator函数
yield xxx
}
形式上:
a).函数名字前面有*
b).函数内部使用yield语法
false:表示还没有遍历完true:表示遍历完了 遇到return也是返回true也是结束了next可以带参数:
给上一个yield的值
for....of循环 用来循环数组和Map对象,还可以循环generrtor函数
打印出12345
generrator函数放在对象里面
网友评论