wx.request

我看到有人写的代码:

wx.request.post().then();

关于renquest他是这么写的。 为什么后面加了一个.then();
.then 不是不能在普通函数中使用吗? 是他做了promise化才可以这么使用的吗?

阅读 3.3k
2 个回答

我使用下面这个来实现Promise的:
promisify.js

module.exports = (api) => {
    return (options, ...params) => {
        return new Promise((resolve, reject) => {
            api(Object.assign({}, options, { success: resolve, fail: reject }), ...params);
        });
    }
}

然后包裹wx.request

const promisify = require('./promisify.js')
request = promisify(wx.request)

request({
    method: 'POST',
        url: url,
        data: data,
        header: {
            'content-type': 'application/x-www-form-urlencoded' //application/json
        },
}).then(...)

这里可以封装一个带有successfailpost,就能避免每次都填methodheader

说明这个函数的返回值是一个Promise对象吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题