>위챗 애플릿 >위챗 개발 >wx.request와 WeChat 애플릿의 Promise 결합 사용

wx.request와 WeChat 애플릿의 Promise 결합 사용

php中世界最好的语言
php中世界最好的语言원래의
2018-03-19 16:28:283648검색

이번에는 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를 사용하기 시작했습니다.

코드는 다음과 같습니다. 이렇게 하면 두 번째 요청에 첫 번째 매개변수 판단이 필요할 때 더 이상 콜백 지옥에 빠질 수 없습니다.

// 小程序与后端情求接口
    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 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

Vue 지침 사용하기

JS 클로저 사용하기

위 내용은 wx.request와 WeChat 애플릿의 Promise 결합 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.