Firebase没有捕获错误(当json脱机时)

时间:2017-08-18 19:59:50

标签: javascript reactjs firebase react-native

我试图建立一个警告窗口,说明发生了错误,当尝试离线发布消息时。但是捕获似乎并没有起作用,也许它只适用于其他情况? 这是我的代码:

  return (dispatch) => {
    dispatch({
      type: POST_TO_DB,
    });
    firebase.database().ref(locationInDB).push(object)
    .then((data) => {
      dispatch({
        type: POST_TRADE_TO_DB_SUCCESS,
      }); // success
    })
    .catch((err) => {
      console.log("failed to post...")
      dispatch({
        type: POST_TRADE_TO_DB_FAILED,
      }); // failed
    });
  };

还有其他选择吗?或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

当没有网络连接时,Firebase客户端会将挂起的写入保留在内存中,直到网络连接恢复为止,此时它将完成写入。

如果服务器上的写入失败,则会触发catch()子句,而不是在无法完成时。

另见: