注冊

微信小程序 wx.request 方法的不支持 Promise 和并發(fā)數問題的解決方案

2020-09-27
導讀:wx-promise-request wx-promise-request 是微信小程序 wx.request 方法的不支持 Promise 和并發(fā)數問題的解決方案。如果只需要解決并發(fā)數問題,可以使用我的 wx-queue-request 解決問題 支持 Promise (使用...

 

wx-promise-request 是微信小程序 wx.request 方法的不支持 Promise 和并發(fā)數問題的解決方案。如果只需要解決并發(fā)數問題,可以使用我的 wx-queue-request

解決問題

  • 支持 Promise (使用 es6-promise 庫)。
  • 管理請求隊列,解決 request 最大并發(fā)數超過 10 會報錯的問題。
  • 微信小程序 wx.request 方法的不支持 Promise 和并發(fā)數問題的解決方案

下載

由于小程序不支持 npm,所以直接右鍵保存 index.js 文件即可。

使用

import {request} from './wx-promise-request';

request({
  url: 'test.php',
  data: {
    x: '',
    y: '',
  },
  header: {
    'content-type': 'application/json',
  },
})
.then(res => console.log(res))
.catch(error => console.error(error))

API

setConfig(object)

可以通過 setConfig 配置 wx-promise-request 的行為。

屬性 說明 類型 默認值
request 發(fā)起網絡請求的函數 Function wx.request
Promise Promise 函數 Function es6-promise
concurrency 最大并發(fā)數 number 10
import {request, setConfig} from './wx-promise-request';
import qcloud from './vendor/qcloud-weapp-client-sdk/index';
import Promise from 'bluebird';

// 根據自身需求,來定制 request
setConfig({
    request: qcloud.request, // 使用 qcloud 提供的請求方法
    Promise, // 使用 bluebird 作為 Promise
    concurrency: 5, // 限制最大并發(fā)數為 5
})

request({
  url: 'test.php',
})
.then(res => console.log(res))
.catch(error => console.log(error));

 

更多小程序開發(fā)教程入門關注Hi小程序。
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)