javascript - React Native 无法在异步函数中正确设置超时
问题描述
我有以下动作:
常量 someAction = async () => { // t=0s: 记录“一” console.log('one'); // 等待 1000 毫秒,等待 Promise 解决 等待新的承诺(解决=> setTimeout(解决,1000)); // t=1s: 记录“二” console.log('两个'); // 将在 t=2s 时记录“三” setTimeout(() => console.log('三'), 1000); }
在普通浏览器中,行为与评论中描述的行为相同。但是,在我的 Android 手机上运行时,三个日志几乎立即发生,顺序为“一”、“二”、“三”。怎么了?这是一个错误还是我做错了什么?
更新:三个相关问题(#22620、#22620和#22620)似乎指出使用 devtools 时 setTimeouts 存在 React Native 错误)
解决方案
推荐阅读
- java - 用空格和换行符分割字符串
- python - 如何根据python中的float或int获取结果
- excel - 根据另一列中的相同值查找唯一值 (EXCEL)
- python - 将嵌套数组加载到 spark 数据框列中
- jquery - Jquery 将表单 SELECT 更新为新选项
- java - 简单 XML:抑制序列化数组中的长度属性
- javascript - 如何单击 puppeteer 中的一系列链接?
- asp.net - 构建中的用户机密为空
- kotlin - 房间数据库查询在 Kotlin 中应该是 null 安全的地方返回 null
- javascript - 在另一个画布图像上旋转图像