promise
2018-04-19 本文已影响5人
joker731
promise存在的原因:
1.我们写代码为什么要函数?
//就是为了封装代码,让代码的使用更简单,比如你封装源生js成jq的ajax,封装之后我们是不是用一个对象就可以用ajax功能了,代码少,一句话,函数就是封装代码,让代码被调用更简单
2.我们用别人的封装代码是不是要看文档?
//如果不看文档,你怎么知道要写哪些参数,参数放第几个?
3.任何人都可以封装代码,就像ajax每个人都可以封装ajax,每个人的封装方法还可以不一样,甚至封装的变量名都不一样,promise呼之欲出
4.那么我们一起顶一个规范吧:promise就是定义函数形式的规范
promise带来的好处
1.我们不用再去看文档,记忆成功或者失败怎么写了,promise大家都遵守这个规范,.then(第一个参数成功,第二个参数失败)
2.可以对成功或者失败,的状态重复操作,多次操作
具体怎么写promise
function xxx(){
return new Promise((f1, f2) => {
doSomething()
setTimeout(()=>{
// 成功就调用 f1,失败就调用 f2
},3000)
})
}
xxx().then(success, fail)
// 链式操作
xxx().then(success, fail).then(success, fail)
写promise的套路:
return new Promise(function(resolve,reject)){}