首页 > 解决方案 > JavaScript - Firebase 实时数据库在网络错误的情况下等待太久

问题描述

每当我想使用客户端 JavaScript 向数据库发出请求时,无论是使用 读取ref.once()、设置还是删除,如果我模拟网络丢失然后运行发出数据库请求的行为,Firebase 都会等待永远,不断地尝试建立联系。

database.ref(`resources/${id}`).set(res).then(() => {
    // handle successful read
}).catch((error) => {
    // handle problem
});

在这种情况下,我希望 Firebase 在一定时间后拒绝承诺,从而导致 catch 回调,但是由于网络错误,成功或不成功的回调都不会被调用,并且我在没有任何回调的情况下被卡住了。

Firebase 是否提供设置超时的方法?如果没有,我想我可以建立自己的超时时间,Promise.race()但我希望有一个更简单的解决方案。

标签: javascriptfirebasefirebase-realtime-database

解决方案


推荐阅读