android webview 中setTimeout 不生效

setTimeout(()=>{

console.log("i am test")
    },3000)
   

在安卓webview中不会起作用.

问题已经解决,谢谢大家。 是安卓的那边的开发人员的问题,清除了定时器。

阅读 5k
评论
    4 个回答
    • 5.5k

    不是不支持 setTimeout 而是不支持 lambda 表达式 (Arrow functions) 因为这是 ES6 的规范

    图片描述

    请使用:

    setTimeout(function(){
        console.log("i am test");
    }, 3000);

      尝试了各种方法,似乎都没有效果。 有朋友遇到类似的问题吗,求助啊

        • 21

        这句写成

        setTimeout(function(){ 
            console.log("i am test"); 
        }, 3000);

        这样本身肯定是没问题的,android webview中能用。是不是前面或者上一层的其他代码块阻塞了运行?或者有异步的情况导致这段代码被跳过?可以在关键位置设一些断点,调试几次就知道究竟哪一段没工作。

          我这也遇到了,导致vue-router不能正常跳转。排查了好久,最后发现是客户端那边清除了了WebView的setTimeout定时器。

            撰写回答

            登录后参与交流、获取后续更新提醒

            相似问题
            推荐文章