promise 对象

Promise对象代表了未来将要发生的事情,用来传递异步操作的信息。

Promise对象的状态不受外界的影响,对象代表一个异步操作,有三种状态:pending 初始状态    fulfilled 成功    rejected 失败

创建Promise需要使用new 来调用Promise的构造器进行实例化

var promise=new Promise(function(resolve,reject){

//异步操作

//处理结束之后调用resolve reject

});

对于已经实例化过的promise对象可以调用promise.then()方法,传递resolve和reject方法作为回调

promise.then(onFulfilled).catch(onRejected)

使用Promise封装wx.request();

http.js

function request(url,config, resolve,reject){  
/*对象的解构,可以给默认值,对config对象进行展开,如果有data contentType method的赋值,就使用config中的设置的值,如果没有就使用默认值*/
let {

  data={},

  contentType='application/json',

  method='GET'

}={...config}

wx.request({

  url:url,

  data:data,

  method:method,

  header:{'content-type':contentAType},

  success:(res){ resolve(res)},  

  fail:(error){ reject(error)}

});

}

function http(url,config){

  return new Promise(function(resolve,reject){

    request(url,config,resolve,reject);

});

}

module.exports= {

  http:http

}

使用http:

require引入http.js

const http=require('./http.js');

http(url,config).then((res)>{

}).catch((error)=>{

})
原文地址:https://www.cnblogs.com/xiaofenguo/p/10112593.html