android webview 中setTimeout 不生效

setTimeout(()=>{

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

在安卓webview中不会起作用.

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

阅读 10.1k
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定时器。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏