android webview 中setTimeout 不生效

beiciye
  • 367

setTimeout(()=>{

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

在安卓webview中不会起作用.

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

评论
阅读 5.3k
4 个回答

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

图片描述

请使用:

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

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

这句写成

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

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

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

宣传栏