首页 > 编程知识 正文

微信小程序支付功能怎么实现,支付异步回调设计

时间:2023-05-04 01:57:59 阅读:132731 作者:3361

applet app.js上的onLaunch和index.js上的onload异步运行问题,同时触发时如何等待返回值以响应索引上的onload内容

例如,如果获取用户的openid或证书,则在未返回所需数据之前将执行index.js的onload,后续代码不支持OpenID *

ES6提供了promise解决方案,但这是一个很好的解决方案

promise下载位置

直接复制压缩的源代码,在applet中创建promise.js文件,直接粘贴,然后在app.js中浏览

const promise=require (utils/promise.js );

APP.js的代码

取出你写在onLaunch上的代码片段,重写新方法

login:function () {

let that=this;

返回新promise (功能(resolve,reject ) {

//登录

wx.login({

success: res={

将res.code发送到后台以换取openId、sessionKey和unionId

if(RES.code ) {

//console.log ('获取用户登录证书: ' code );

-------发送证书-------

/*

通过代码获取登录会话

*/

wx.request({ (

url: 'xxx/login? 代码=' RES.code,

方法: ' get ',

header: {

' content-type ' : ' APP/JSON '

(,

success :功能(RES ) {

console.log(res )

if(RES.Statuscode==200 ) {

//注意这里

求解(RES;

} else {

控制台. log (RES.errmsg ) )。

}

(,

() )

} else {

console.log ('获取用户登录失败。' res.errMsg );

}

}

() )

() )

}

index.js代码

onload :功能(选项) {

App.login(.then ) ) RES={

console.log(res )

() )

(,

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。