小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如果不能对 NPM 有良好支持,会大大影响开发人员的积极性。
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不防用rxjs-mp,在小程序中优雅的使用rxjs。
vscode中还有rxjs的语法提示: https://www.npmjs.com/package/rxjs-mp
const Rx = require('rxjs-mp'); /** * Request method * @param {string} url * @param {any} data * @param {'GET'|'POST'|'PUT'|'DELETE'} method * @param {{header?: object}} options */ function request(url, data = {}, method = "GET", { header }={}) { return new Rx.Observable(ob => { const requestTask = wx.request({ url, data, method, header: { ...(header || {}) 'Token': wx.getStorageSync('token') }, success: res => { if (res.statusCode == 200) { ob.next(res); ob.complete(); } else { ob.error(res); } }, fail: err => { console.error(err); ob.error(err); } }); return () => requestTask.abort(); }); } /** * GET method * @param {string} url * @param {{header?: object}} options */ function get(url, options) { return request(url, null, 'GET', options); } // 调用请求 const sub = get('htts://some-api-url').pipe( Rx.operators.map(res => res && res.data || {}) ).subscribe(res => { console.log(res); }, err => { console.error(err); }); // 取消请求 setTimeout(() => { sub.unsubscribe(); }, 1000);
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
具体是什么业务需要用到这个呢
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不防用rxjs-mp,在小程序中优雅的使用rxjs。
vscode中还有rxjs的语法提示: https://www.npmjs.com/package/rxjs-mp
const Rx = require('rxjs-mp'); /** * Request method * @param {string} url * @param {any} data * @param {'GET'|'POST'|'PUT'|'DELETE'} method * @param {{header?: object}} options */ function request(url, data = {}, method = "GET", { header }={}) { return new Rx.Observable(ob => { const requestTask = wx.request({ url, data, method, header: { ...(header || {}) 'Token': wx.getStorageSync('token') }, success: res => { if (res.statusCode == 200) { ob.next(res); ob.complete(); } else { ob.error(res); } }, fail: err => { console.error(err); ob.error(err); } }); return () => requestTask.abort(); }); } /** * GET method * @param {string} url * @param {{header?: object}} options */ function get(url, options) { return request(url, null, 'GET', options); } // 调用请求 const sub = get('htts://some-api-url').pipe( Rx.operators.map(res => res && res.data || {}) ).subscribe(res => { console.log(res); }, err => { console.error(err); }); // 取消请求 setTimeout(() => { sub.unsubscribe(); }, 1000);
具体是什么业务需要用到这个呢