微信小程序API增强(微信小程序模块化)

网友投稿 726 2022-10-09

微信小程序API增强(微信小程序模块化)

微信小程序API增强(微信小程序模块化)

wxDefer

将微信小程序中接受 { success: callback, fail: callback, complete: callback } 的函数转化为类似 jQuery.Deferred 的形式

原接口对比wxDefer

wx.request({ url: 'https://example.com/data.json', data: { _: +new Date }, success: (response) => { if ('request:ok' == response.errMsg) { this.setData({ exampleData: response.data }) } }, fail: (response) => { console.log(response) }})

使用 wxDefer

var wxDefer = require('../../wxDefer.js')wxDefer.request({ url: 'https://example.com/data.json', data: { _: +new Date }}).done((response) => { if ('request:ok' == response.errMsg) { this.setData({ exampleData: response.data }) }}).fail((response) => { console.log(response)})

支持的微信API列表

完整的微信API列表

目前同步了微信所有可使用{ success: callback, fail: callback, complete: callback }参数的API

其它 API

wxDefer.Deferred

Deferred 类

类似jQuery.Deferred(文档),请注意:当前wxDeferred只是最小支持,部分jQuery.Deferred的接口并不支持

函数返回类型说明
state()pending | resolved | rejected当前Deferred的状态
done(callback)Deferred()Deferred()状态变成resolved时的回调函数
fail(callback)Deferred()Deferred()状态变成rejected时的回调函数
always(callback)Deferred()Deferred()状态变成resolvedrejected时均会触发的回调函数
resolve(...args)改变Deferred的状态为resolved并使用args调用相关回调函数
resolveWith(thisObj, ...args)改变Deferred的状态为resolved并使用args调用相关回调函数(可以设置回调函数中的this
reject(...args)改变Deferred的状态为resolved并使用args调用相关回调函数
rejectWith(thisObj, ...args)改变Deferred的状态为resolved并使用args调用相关回调函数(可以设置回调函数中的this

另请注意:wxDefer.Deferred是类的构造函数,而jQuery.Deferred()则返回初始化后的对象

var defer = new wxDefer.Deferred()defer.done(_ => console.log('done: ', _)).fail(_ => console.warn('fail'))defer.resolve('success!')// in console:// done: success!

wxDefer.MakeDeferred()

将可以接受 { success: callback, fail: callback, complete: callback } 的API函数转化为 Deferred 的形式

在wxDefer未更新的情况增加Deferred形式的函数

function demoFunction(config) { // config 包含 success, fail, complete 三个回调函数 // ...}var demoFunctionDeferred = wxDefer.MakeDeferred(demoFunction)

更新

2018.4.13 v1.0.2 fix: options可能为undefined2018.4.13 v1.0.1 fix: 函数列表错误2018.4.13 v1.0.0 同步了微信小程序函数列表2016.9.28 v0.1.0 初始版本

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:646. Maximum Length of Pair Chain
下一篇:688. Knight Probability in Chessboard
相关文章

 发表评论

暂时没有评论,来抢沙发吧~