赞
踩
给原生发消息,想在回调中判断回调的结果进行操作,结果发现安卓和IOS都收不到回调的返回值。
分析是因为利用jsBridge给原生发消息是同步方法,调用即结束了,前端已经拿不到回调结果。可以在回调中做操作,但不能利用原生的返回值做 if 条件来判断。
所以,还需要进行的处理是给原生发消息,原生在完成了必要的操作以后,再调用jsBridge给前端发一个消息,通知已经完成,再交由前端处理。
先给原生发消息
- toDownLoad (product_id) {
- var view = this
- var param = {"loginType": "2"}
- this.JsBridge.callHandler("tellAppLogin", param, (res) => {
- console.log(res)
- });
- }
原生拉起登陆页并登陆完成以后给前端发消息
- created () {
- var view = this
- this.initJsBridge()
- this.JsBridge.registerHandler("tellAppLoginCallBack" ,(res , callback) => {
- view.toWebTask('mall','https://www.baidu.com','1')
- callback('Success')
- })
- },
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。