第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

未觸發(fā)基于火庫的 SDK 事件偵聽器

未觸發(fā)基于火庫的 SDK 事件偵聽器

Go
慕尼黑8549860 2022-09-26 20:17:59
我正在使用 Go Firebase 管理 SDK 并偵聽實時數(shù)據(jù)庫中的更改。問題在于,只有當(dāng)我從 Firebase 控制臺手動更新數(shù)據(jù)時,偵聽器才會被觸發(fā),如果我從另一個應(yīng)用程序(在本例中為 Flutter)更改數(shù)據(jù),即使可以在 Firebase 控制臺中看到更改,也不會觸發(fā)偵聽器(因此數(shù)據(jù)肯定已更改)。我甚至嘗試通過 Firebase 數(shù)據(jù)庫 REST API 執(zhí)行更新 https://firebase.google.com/docs/reference/rest/database#section-streaming結(jié)果相同:數(shù)據(jù)更改可在控制臺中查看,但仍不會觸發(fā)偵聽器。以下是我收聽 Go 中更改的方式:func listenToFirebase(ref *db.Ref, ctx context.Context) {    iter, err := ref.Listen(ctx)    if err != nil {        fmt.Printf(" Error: failed to create Listener %v\n", err)        return    }    defer iter.Stop()    for {        if iter.Done() {            break        }        event, err := iter.Next()        if err != nil {            // Handle error here based on specific usecase            // We can continue Listening            log.Printf("%v\n", err)            continue        }        fmt.Printf("Listener | Ref Path: %s | event.Path %s | event.Snapshot() = %v\n", ref.Path, event.Path, event.Snapshot())        fmt.Printf("\n")    }}偵聽器是通過從控制臺更新數(shù)據(jù)觸發(fā)的,則表明偵聽器工作正常。附言:監(jiān)聽方法尚未集成到 Go Firebase 管理 SDK 中,并且來自 https://github.com/firebase/firebase-admin-go/issues/229
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊

事實證明,Go代碼沒有問題。問題在于我從Flutter更新實時數(shù)據(jù)庫的方式。

這是我用來執(zhí)行更新的內(nèi)容:

await ref.update({"value": value});

解決問題的是使用以下方式使用“set”而不是“更新”:

await ref.child("value").set(value);

通過這種方式,我的Go-Listener方法最終被觸發(fā),一切都按預(yù)期工作。


查看完整回答
反對 回復(fù) 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號