收藏
回答

openSetting功能在showModal的不同使用风格下效果不一致?

  1. 我在使用wx.openSetting()功能时, 注意到文档中有提到, 只有用户发生点击行为可以触发这个功能.
  2. 我习惯于用Promise风格的编程, showModal可以用回调或Promise风格进行处理
  3. showModal()使用函数回调的方法可以调起wx.openSetting(), 但是Promise.then()却不能调起

相关代码片段:

// 不能成功调起: 
wx.showModal({
  title"Test"
}).then(res=>{
  if (res.confirm) {
    wx.openSetting()
  }
})
// 可以成功调起
wx.showModal({
  title"Test",
  success(res) {
    if (res.confirm) {
      wx.openSetting()
    }
  }
})
回答关注问题邀请回答
收藏

5 个回答

  • 溪雨安
    溪雨安
    2022-02-18

    我想说,async await写法也不行

    2022-02-18
    有用
    回复
  • 理想
    理想
    2021-09-03

    同样困惑,难道wx.showModel().then里就不能用opensetting了?


    意思是,通过then 可以绕过用户点击触发吗?比较菜,这些不太懂。如果不可以绕过,那是bug,想反馈

    2021-09-03
    有用
    回复
  • Rock-小胖 [旺柴]
    Rock-小胖 [旺柴]
    2021-08-31

    跟着文档来吧。。。

    2021-08-31
    有用
    回复
  • 禾几
    禾几
    2021-08-29

    现在又变了, 变成在手机上可以成功, 工具里不行

    2021-08-29
    有用
    回复 1
    • llr
      llr
      2021-08-30
      没事,解决了一个bug又引入另一个bug而已
      2021-08-30
      回复
  • 老张
    老张
    2021-08-29

    确实如此。要用第二种

    2021-08-29
    有用
    回复
登录 后发表内容