Promise笔记(一)

Promise笔记(一)_第1张图片
Promise 是异步编程的一种解决方案,其本身代表着一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。成功和失败的状态都叫resolved。

基本用法

const promise = new Promise(function(resolve, reject) {
     
  //异步操作
  setTimeout(function(value){
     
      console.log("异步操作完成");
      resolve(value);
  },500,"异步操作成功")
});
promise.then((value)=>console.log(value));
//结果:
//异步操作完成
//异步操作成功

resolve和reject分别作为异步操作成功和失败的回调函数
promise.then(onFulfilled, onRejected)用于传入异步操作成功或失败后的具体回调函数

因此可以将jQuery的ajax方法简单封装成Promise对象:

var AjaxPromise = function(param){
    return new Promise(function(resolve, reject){
        $.ajax({
            url: param.url,
            type: param.type,
            data: param.data || '',
            dataType:'json',
            success: function(data){
                resolve(data);
            },
            error: function(error){
                reject(error)
            }
        });
    });
}

你可能感兴趣的:(js编程,js,promise)