收藏
回答

requestSubscribeMessage成功时执行的方法提前执行了怎么解决?

export const messageTemplate = (params, fun?: any) => {
request.get('c/uc/subscribe', params).then(res => {
if (res.data.data && res.data.data.length > 0) {
const tmpId = res.data.data
     const ids: string[] = []
wx.requestSubscribeMessage({
tmplIds: tmpId,
success (suc) {
tmpId.map(item => {
if (suc[`${item}`] === 'accept') {
ids.push(`${item}`)
request.postForm('c/uc/subscribe', { 'tpl_ids': ids }).then(res => {
console.log(res)
fun()
})
} else {
return
           }
})
}
})
} else if (params.subscribe_tp === 6) {
fun()
} else {
return
   }
})
}


在前面是这么调用的

messageTemplate(params, Taro.redirectTo({ url: `/pages/group_buy/detail/detail?bgrId=${bgrId}` }))

现在的问题是在success中的方法还没有点击允许,就执行了,我还没有选择要订阅信息  就跳转到另一个页面了,就选择不了订阅信息了,而且订阅信息也不弹出了。

最后一次编辑于  12-04
回答关注问题邀请回答
收藏

2 个回答

  • 中国人🇨🇳
    中国人🇨🇳
    12-05
    messageTemplate(params, ()=>{Taro.redirectTo({ url: `/pages/group_buy/detail/detail?bgrId=${bgrId}` })})会解决此问题


    12-05
    赞同
    回复
  • 假装在上海
    假装在上海
    12-04

    你第一次点击了总是允许吧,所以不会再弹出来了

    12-04
    赞同
    回复 1
    • 中国人🇨🇳
      中国人🇨🇳
      12-04
      不是这个,在测试期间没有勾选总是允许
      12-04
      回复
问题标签