鍍金池/ 問(wèn)答/HTML/ wx.request

wx.request

我看到有人寫的代碼:

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

關(guān)于renquest他是這么寫的。 為什么后面加了一個(gè).then();
.then 不是不能在普通函數(shù)中使用嗎? 是他做了promise化才可以這么使用的嗎?

回答
編輯回答
舊酒館

我使用下面這個(gè)來(lái)實(shí)現(xiàn)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(...)

這里可以封裝一個(gè)帶有successfailpost,就能避免每次都填methodheader

2017年6月14日 05:34
編輯回答
朕略萌

說(shuō)明這個(gè)函數(shù)的返回值是一個(gè)Promise對(duì)象吧

2017年3月8日 08:40