Skip to content
解决微信小程序 wx.request 请求的并发数限制、不支持异步问题
Branch: master
Clone or download
Latest commit 6fed5de Mar 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist 使用命名导出 Jul 19, 2017
src 使用命名导出 Jul 19, 2017
.babelrc 完成基本架构 Apr 27, 2017
.eslintignore
.eslintrc.js
.gitignore 完成基本架构 Apr 27, 2017
LICENSE Initial commit Apr 27, 2017
README.md
package-lock.json 2.1.3 Mar 23, 2018
package.json
rollup.config.js use package.json var May 7, 2017

README.md

wx-promise-request

wx-promise-request 是微信小程序 wx.request 方法的不支持 Promise 和并发数问题的解决方案。如果只需要解决并发数问题,可以使用我的 wx-queue-request

解决问题

  • 支持 Promise (使用 es6-promise 库)。
  • 管理请求队列,解决 request 最大并发数超过 10 会报错的问题。

下载

可以使用 npm 下载

$ npm i wx-promise-request

也可以直接右键保存 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 发起网络请求的函数 Function wx.request
Promise Promise 函数 Function es6-promise
concurrency 最大并发数 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, // 限制最大并发数为 5
})

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

License

MIT

You can’t perform that action at this time.