在onShareAppMessage中使用async和await
发布于 6 年前 作者 chao07 13337 次浏览 来自 问答

需求描述:

在点击分享按钮后,请求接口(业务要求,一定要点击分享后才调接口),接口成功后执行自定义的分享内容

解决方案:

使用async和await,保证接口请求成功后才执行自定义内容。

问题:

代码按顺序执行,但是自定义的分享内容却未生效。

请教原因

3 回复

遇到过这个问题,onShareAppMessage是个同步过程,不管你用Promise或await,

onShareAppMessage返回的还是undefined


你需要对async和await有个基本了解

不准确的来说……可以无脑认为async方法返回的是一个Promise

对于外层来说需要对promise进行then或者await以获取Promise的返回值

对于你的情况来说,onShareAppMessage方法默认是个同步方法,微信框架内对其调用方式可以简化认为是

const sharingURL = page.onShareAppMessage()

如果你把onShareAppMessage定义成一个async方法,则对于微信框架拿到一个Promise,不报错就很对得住你了

分享已经改了,监测不到分享成功和失败了,接口请求需要时间,不在一个线程中,肯定会有问题

回到顶部