위챗 애플릿 - ES6를 이용하여 wx를 간소화합니다.request

5957 단어 위챗 애플릿

전언


전에 한 번wx.request 방법을 봉인했는데 리셋 지옥에 빠지기 쉬우니 프로미스로 수정해 주세요.이전 링크

Promise 활용

const fetch = (options) => {
  return new Promise((resolve, reject) => {
    let defaultOptions = {
      url: baseUrl,
      method: 'GET',
      data: null,
      success(data) {
        if (data.statusCode === 200 && data.data.code === 200) {
          resolve(data.data)
        } else {
          if (data.data) {
            reject(data.data.msg)
          } else {
            reject(data.errMsg)
          }
        }
      },
      fail(data) {
        reject(data)
      }
    }

    if (typeof options === 'string') {
      if (options.startsWith('/')) {
        defaultOptions.url += options
      } else throw new Error('Illegal param.')
    } else if (typeof options === 'object') { //  
      defaultOptions = Object.assign(defaultOptions, options)
    }
    wx.request(defaultOptions);
  })

}

좋은 웹페이지 즐겨찾기