Heim >WeChat-Applet >WeChat-Entwicklung >Kombinierte Verwendung von wx.request und Promise des WeChat-Applets

Kombinierte Verwendung von wx.request und Promise des WeChat-Applets

php中世界最好的语言
php中世界最好的语言Original
2018-03-19 16:28:283644Durchsuche

Dieses Mal werde ich Ihnen die kombinierte Verwendung von wx.request und Promise des WeChat-Applets vorstellen. Was sind die Vorsichtsmaßnahmen für die kombinierte Verwendung von wx.request und Promise des WeChat-Applets? Werfen wir einen Blick darauf.

Bei der Verwendung von Promise sehen meine mehreren asynchronen Codes normalerweise so aus

ajax(url, function (res){
    ajax(res.url, function(res) {
        ajax(res.url, function(res) {            if (res.status == '1') {
                ajax(res.url, function(res) {
                ...
                }
            }            else if (res.status == '2') {
                ajax(url2, function(res) {
                ...
            }
            ...
        }
    }
}
);

Diese Art von Prozess ist sehr arbeitsintensiv und fragil, und die Erfahrung ist daher sehr schlecht Um eine bessere Erfahrung bei der Entwicklung kleiner Programme zu haben, habe ich begonnen, Promise zu verwenden. Auf diese Weise können wir, wenn unsere zweite Anfrage die erste Parameterbeurteilung erfordert, nein Fallen Sie nicht mehr in die Callback-Hölle. ,

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
// 小程序与后端情求接口
    let baseUrlPromise = 'https://xxx.com';    // 定义方法返回Promise参数,obj 为wx.request 方法中所需参数
    let req = function (obj) {      return new Promise(function (resolve, reject) {
        wx.request({
          url: baseUrlPromise + obj.url,
          data: obj.data,
          header: obj.header,
          method: obj.method == undefined ? "get" : obj.method,
          success: function (data) {            // 回调成功执行resolve            resolve(data)
          },
          fail: function (data) {            // 回调失败时
            if (typeof reject == 'function') {
              reject(data);
            } else {
              console.log(data);
            }
          },
        })
      })
    }    // 执行req 方法,传入第一个请求,
    let req1 = req({
      url: '第一次请求链接,与baseUrlPromise 相结合',
      data: {},
    })    // 当需要多次请求时加入
    req1.then(function (data) {
      console.log('promiseThen1')
      console.log(data);      return req({
        url: '第二次请求链接',
      })
    }).then(function (data) {
      console.log('promiseThen3')
      console.log(data);      return req({
        url:'第三次请求链接'
      })
   }).then(......).catch(function(data){
      console.log(PromiseCatch)
   })

Empfohlene Lektüre:

Die Verwendung von Vue-Anweisungen


Die Verwendung von JS-Verschlüssen

Das obige ist der detaillierte Inhalt vonKombinierte Verwendung von wx.request und Promise des WeChat-Applets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn