Promise的工作原理
一、什么是Promise
(一)Promise是ES6新增的解决异步(非阻塞)中存在的问题而产生的构造函数
二、Promise中的三种状态
pending(进行中) resoved(成功后) rejected(失败后)
三、Promise.prototype.then : 当promise的状态返回resove时,则调用then()方法
Promise.prototype.catch :当promise的状态返回reject时,则调用catch()方法
四、构建promise的格式
new Promise(function(resolve,reject){
处理语句;
if(成功){
resolve();
}else{
reject();
}
}).then(function(){
执行语句;
}).catch(function(){
执行语句;
})
五、promise的静态方法:Promise.all()
在all中会调用多个promise对象,当被调用的所有promise都返回resolve时,all方法返回resolve(),只要被调用的所有promise中有一个返回reject时,all方法返回reject
六、jsonP的原理
跨域原理 :
1、通过动态创建script标签 添加到body中
2、设置script标签的src值为一个接口路径
3、接口上带一个参数,表示回调函数,通过这个回调函数可以获取服务器数据
jsonp接口和ajax接口区别 :
jsonp接口:
1、接口上必须携带一个参数 表示回调函数
2、访问jsonp的接口得到的数据是 object 类型 使用时不需要进行类型转换