分包异步化引用后调用消息订阅 wx.requestSubscribeMessage 方法失败?
发布于 4 年前 作者 xia64 14422 次浏览 来自 官方Issues

问题描述

分包异步化后,在异步引用流程内调用 `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 真机,第一次点击后失败,第二次点击后成功(分包已下载完成)
  • 开发工具中难以(或无法)复现

前提条件

  1. 已确保在 bind:tap 点击事件中执行
  2. 在 wx.request() 回调中执行也能成功执行订阅(就是引用异步分包后不行

测试复现代码段:https://developers.weixin.qq.com/s/EdxrwCmg7HIK

回到顶部