首页 > 解决方案 > 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 错误)

标签: javascriptreact-nativeecmascript-6async-awaites6-promise

解决方案


推荐阅读