分包异步化引用后调用消息订阅 wx.requestSubscribeMessage 方法失败?
问题描述:
分包异步化后,在异步引用流程内调用 `wx.requestSubscribeMessage()` 会失败(fail):
require.async('async/sub/path/to').then(pkg => {
wx.requestSubscribeMessage({ ... });
});
errMsg 为 “fail can only be invoked by user TAP gesture”
复现场景:
- 在 iOS 真机下稳定复现
- Android 真机,第一次点击后失败,第二次点击后成功(分包已下载完成)
- 开发工具中难以(或无法)复现
前提条件:
- 已确保在 bind:tap 点击事件中执行
- 在 wx.request() 回调中执行也能成功执行订阅(就是引用异步分包后不行)