微信小程序开发-小程序的API

api小程序开发框架提供丰富的微信原生 api,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。详细介绍请参考?api 文档。
通常,在小程序 api 有以下几种类型:
事件监听 api我们约定,以?on?开头的 api 用来监听某个事件是否触发,如:wx.onsocketopen,wx.oncompasschange?等。
这类 api 接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。
代码示例
wx.oncompasschange(function?(res)?{console.log(res.direction)})同步 api我们约定,以?sync?结尾的 api 都是同步 api, 如?wx.setstoragesync,wx.getsysteminfosync?等。此外,也有一些其他的同步 api,如?wx.createworker,wx.getbackgroundaudiomanager?等,详情参见 api 文档中的说明。
同步 api 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。
代码示例
try?{wx.setstoragesync('key',?'value')}?catch?(e)?{console.error(e)}异步 api大多数 api 都是异步 api,如?wx.request,wx.login?等。这类 api 接口通常都接受一个?object?类型的参数,这个参数都支持按需指定以下字段来接收接口调用结果:
object 参数说明
参数名类型必填说明
success function 否 接口调用成功的回调函数
fail function 否 接口调用失败的回调函数
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)
其他 any - 接口定义的其他参数
回调函数的参数
success,fail,complete?函数调用时会传入一个?object?类型参数,包含以下字段:
属性类型说明
errmsg string 错误信息,如果调用成功返回?${apiname}:ok
errcode number 错误码,仅部分 api 支持,具体含义请参考对应 api 文档,成功时为?0。
其他 any 接口返回的其他数据
异步 api 的执行结果需要通过?object?类型的参数中传入的对应回调函数获取。部分异步 api 也会有返回值,可以用来实现更丰富的功能,如?wx.request,wx.connectsocket?等。
代码示例
wx.login({success(res)?{console.log(res.code)}})异步 api 返回 promise基础库?2.10.2?版本起,异步 api 支持 callback & promise 两种调用方式。当接口参数 object 对象中不包含 success/fail/complete 时将默认返回 promise,否则仍按回调方式执行,无返回值。
注意事项部分接口如?downloadfile,?request,?uploadfile,?connectsocket,?createcamera(小游戏)本身就有返回值, 它们的 promisify 需要开发者自行封装。
当没有回调参数时,异步接口返回 promise。此时若函数调用失败进入 fail 逻辑, 会报错提示?uncaught (in promise),开发者可通过 catch 来进行捕获。
wx.onunhandledrejection?可以监听未处理的 promise 拒绝事件。
代码示例
//?callback?形式调用wx.chooseimage({success(res)?{console.log('res:',?res)}})//?promise?形式调用wx.chooseimage().then(res?=>?console.log('res:?',?res))云开发 api开通并使用小程序云开发,即可使用云开发api,在小程序端直接调用服务端的云函数。
代码示例
wx.cloud.callfunction({//?云函数名称name:?'cloudfunc',//?传给云函数的参数data:?{a:?1,b:?2,},success:?function(res)?{console.log(res.result)?//?示例},fail:?console.error})//?此外,云函数同样支持promise形式调用
上一个:如何推广企业商城网站
下一个:怎么去挑选好的网站空间 教你几招
夏县网站建设,夏县做网站,夏县网站设计