簡體   English   中英

如果沒有連接,則不會調用Firebase withCompletionBlock

[英]Firebase withCompletionBlock not called if there is no connection

我使用以下內容:

Firebase *fb =[[Firebase alloc] initWithUrl:url];
            [fb setValue:d withCompletionBlock:^(NSError *error, Firebase *ref) {
                if (error) {
                    // bad news
                } else {

                }
            }];

如果你有連接,這似乎工作得很好,如果不是,似乎永遠不會調用回調。 如果是這種情況,我是否需要將這整件事包裝在connectedRef 當我猜測完成塊只是失敗並且錯誤狀態不在線時,似乎有很多額外的工作。

還有誰有相同的問題嗎?

Firebase背后的想法是為您同步數據。 它不僅僅是一個簡單的請求/響應系統。 因此,如果您在離線時執行setValue,Firebase將保留該數據直到您處於聯機狀態,然后它將在那時執行setValue(然后將調用完成塊)。

所以你所看到的行為是預料之中的。 如果你只想在線上做setValue,那么是的,你需要使用.info / connected觀察者。 但是,如果您在嘗試執行setValue或其他內容時離線,那么您仍然會遇到問題。 一般來說,最好只使用setValue並讓Firebase為您處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM