收藏
回答

串连wx.showToast 不显前面的toast

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 wx.showToast 客户端 6.5.3 2.6.4

两个简单的toast显示

wx.showToast({title:"ABC",duration:1500
 success(){
    wx.showToast({title:"12345",duration:1500})
}
})

不显前面的


不知是什么原因?


回答关注问题邀请回答
收藏

2 个回答

  • 小程序技术专员-june
    小程序技术专员-june
    2019-04-02

    success 不是消失的时候再触发,而是接口调用成功就会触发。你这里两次调用间隔太短,后面的 toast 是会覆盖前面的 toast 的。

    2019-04-02
    有用
    回复 11
    • 2019-04-02

      我改成 complete 还是后面的显,前面的不显

      2019-04-02
      1
      回复
    • 2019-04-02

      我还延长时间,也不行

      2019-04-02
      回复
    • 小程序技术专员-june
      小程序技术专员-june
      2019-04-02回复

      complete 也是调用接口完成的钩子,不是消失的钩子。你用 setTimeout 延迟一段时间再展示第二个 toast 试试?

      2019-04-02
      回复
    • 2019-04-02

      const toast = promisify(wx.showToast)

      toast({title:"ABC",duration:1200})

      .then(()=>{

          setTimeout(()=>{

              wx.hideToast();

              toast({titile:"12345",duration:1500})

          }

          ,2200)

      })

      .then(()=>{

          setTimeout(()=>{

              wx.hideToast();

              toast({title:"kjkdkfkdfd",duration:1800})

          },2800)

      })

      上面的方法也不行,在最后一个显示前只晃了一下一个黑框,也没有titile显示

      2019-04-02
      回复
    • 小程序技术专员-june
      小程序技术专员-june
      2019-04-02回复
      wx.showToast({
        title: "ABC",
        duration: 1500,
        success() {
          setTimeout(() => {
            wx.showToast({ title: "12345", duration: 1500 })
          }, 1500)
        }
      })


      2019-04-02
      回复
    查看更多(6)
  • 灵芝
    灵芝
    2019-04-02

    请问是什么场景下需要这样显示呢?

    2019-04-02
    有用
    回复 2
    • 2019-04-02

      有时会有两种情况同事发生,如检查网络连接方式改变提示和其他异步操作完成提示,

      或是两个不相干的异步操作完成提示正好在一个时间

      2019-04-02
      回复
    • Hua
      Hua
      2020-09-17
      游戏开始, 3,2,1倒计时?否则有啥建议吗?
      2020-09-17
      回复
登录 后发表内容