ホームページ >WeChat アプレット >WeChatの開発 >wx.requestとWeChatアプレットのPromiseの併用

wx.requestとWeChatアプレットのPromiseの併用

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-19 16:28:283644ブラウズ

今回は、WeChat アプレットでの wx.request と Promise の併用について紹介します。 WeChat アプレットでの wx.request と Promise の併用に関する 注意事項 は何ですか。見てみましょう。

Promise を使用する場合、私の複数の非同期コードは通常次のようになります。

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) {
                ...
            }
            ...
        }
    }
}
);
このプロセスは非常に労働集約的で壊れやすく、エクスペリエンスは非常に悪いため、この小さな開発でより良い経験を得るために。プログラムでは、Promise を使い始めました。

コードは次のとおりです。このようにして、2 番目のリクエストで最初のパラメーターの判定が必要になったときに、コールバック地獄に陥ることはなくなりました。

// 小程序与后端情求接口
    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)
   })
これを読んでメソッドをマスターしたと思います。この記事の場合は、さらに興味深い内容については、php 中国語 Web サイトの他の関連記事にご注目ください。

推奨読書:

Vue 命令の使用

JS クロージャの使用

以上がwx.requestとWeChatアプレットのPromiseの併用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。