【JavaScript】解锁Promise的正确姿势

前端之家收集整理的这篇文章主要介绍了【JavaScript】解锁Promise的正确姿势前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

基本用法

创建一个Promise实例

{
    if(/*异步操作成功*/){
    resolve(value)
    }else{
        reject(error)
    }
})

函数的两个参数分别是reject,resolve 。它们是两个函数,由JavaScript引擎提供,不用自己部署
resolve 的作用是:将Promise对象从未完成变为成功(pedding --> resolved)
reject 的作用是:将Promise对象从未完成变为失败(pedding --> rejected)

Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数

用Promise实现ajax操作

function handler() {
  if (this.readyState !== 4) {
    return;
  }
  if (this.status === 200) {
    resolve(this.response);
  } else {
    reject(new Error(this.statusText));
  }
};

});

return promise;
};

getJSON("/posts.json").then(function(json) {
console.log('Contents: ' + json);
},function(error) {
console.error('出错了',error);
});

原型方法

Promise.prototype.then()

可以采取链式写法

Promise.prototype.catch()

相当于Promise.prototype.then(null,reject)的别名,用于指定发生错误时的回调函数

猜你在找的JavaScript相关文章