6***@qq.com
6***@qq.com
  • 发布:2024-12-26 16:14
  • 更新:2024-12-26 16:37
  • 阅读:17

【报Bug】uni.showToast()的success回调支付宝和微信小程序平台兼容

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.3

HBuilderX类型: 正式

HBuilderX版本号: 4.36

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 模拟器

手机机型: iphone15 max

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
console.log('a')  
uni.showToast({  
    title: '错误消息',  
    icon: 'none',  
    duration: 3000,  
    success:function(){  
        console.log('b')  
    }  
})

预期结果:
console.log('a')  
uni.showToast({  
    title: '错误消息',  
    icon: 'none',  
    duration: 3000,  
    success:function(){  
        console.log('b')  
    }  
})

实际结果:
console.log('a')  
uni.showToast({  
    title: '错误消息',  
    icon: 'none',  
    duration: 3000,  
    success:function(){  
        console.log('b')  
    }  
})

bug描述:

uni.showToast,相同代码在支付宝小程序中3秒后才会调用suceess的回调方法,在微信直接就调success方法没有等duration延迟后在调用

console.log('a')  
uni.showToast({  
    title: '错误消息',  
    icon: 'none',  
    duration: 3000,  
    success:function(){  
        console.log('b')  
    }  
})
2024-12-26 16:14 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

这个不是bug吧 编译后为原生代码并不是uniapp的问题
success应该是接口成功调用的回调 不是提示显示时的回调
你可以用条件编译和定时器来解决你这问题

uni.showToast({  
            title: '错误消息',  
            icon: 'none',  
            duration: 3000,  
            success: function() {  
                // #ifdef MP-WEIXIN  
                    // 微信小程序使用定时器  
                    setTimeout(() => {  
                         console.log('b')    
                    },3000)  
                // #endif    
                // #ifndef MP-WEIXIN  
                    // 支付宝小程序不使用定时器  
                     console.log('b')    
                // #endif  
            }  
        })

各家小程序都会有些不同 你可以去微信社区或者支付宝社区问下这个问题

要回复问题请先登录注册