微信小程序 wx.request 方法的不支持 Promise 和并發(fā)數(shù)問題的解決方案
2020-09-27
導(dǎo)讀:wx-promise-request wx-promise-request 是微信小程序 wx.request 方法的不支持 Promise 和并發(fā)數(shù)問題的解決方案。如果只需要解決并發(fā)數(shù)問題,可以使用我的 wx-queue-request 解決問題 支持 Promise (使用...
wx-promise-request 是微信小程序 wx.request
方法的不支持 Promise 和并發(fā)數(shù)問題的解決方案。如果只需要解決并發(fā)數(shù)問題,可以使用我的 wx-queue-request
解決問題
- 支持 Promise (使用 es6-promise 庫)。
- 管理請(qǐng)求隊(duì)列,解決 request 最大并發(fā)數(shù)超過 10 會(huì)報(bào)錯(cuò)的問題。
下載
由于小程序不支持 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 的行為。
屬性 | 說明 | 類型 | 默認(rèn)值 |
---|---|---|---|
request | 發(fā)起網(wǎng)絡(luò)請(qǐng)求的函數(shù) | Function | wx.request |
Promise | Promise 函數(shù) | Function | es6-promise |
concurrency | 最大并發(fā)數(shù) | number | 10 |
import {request, setConfig} from './wx-promise-request';
import qcloud from './vendor/qcloud-weapp-client-sdk/index';
import Promise from 'bluebird';
// 根據(jù)自身需求,來定制 request
setConfig({
request: qcloud.request, // 使用 qcloud 提供的請(qǐng)求方法
Promise, // 使用 bluebird 作為 Promise
concurrency: 5, // 限制最大并發(fā)數(shù)為 5
})
request({
url: 'test.php',
})
.then(res => console.log(res))
.catch(error => console.log(error));
更多小程序開發(fā)教程入門關(guān)注Hi小程序。
第二部分:如何開通一個(gè)小商店