質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Q&A

解決済

1回答

378閲覧

Reference.onにて変更監視登録時にcallback処理が行われてしまうのを避けたい

kbn1053

総合スコア17

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

0グッド

0クリップ

投稿2018/04/04 04:09

前提・実現したいこと

こんにちは。現在Chrome 拡張機能を作成しております。

内部処理にてfirebaseのRealtimeDBのデータ変更監視を行っています。
具体的にはRefernce.onを利用してRealtimeDBの対象データの変更を監視しています。
実際に、DB上の値が変化したらonのcallback関数が呼び出されています。

変更監視を登録するReference.onを行うと、一度読み出しが行われた後に、データベースの変更監視が始まりますが、
やりたいこととしては、登録時の読み出し部分は不要で、変更監視だけ行いたいです。
現状ではcallbackが不要に呼び出されてしまいます。

うまい方法(API等)がありますでしょうか?
なにかご存知の方ご教示願います。

該当のソースコード

javascript

1function sample(test) { 2 const onDBChange = db.ref(`/${test}`); 3 4//変更監視登録時にcallback処理が行われてしまうのを避けたい=変更時のみcallback処理を行いたい 5 onDBChange.on("value", function (snapshot) { 6 const mydata_obj = snapshot.val(); 7(省略) });

試したこと

公式のドキュメントを見ましたがイマイチ良さそうなAPIが見つからず…。
https://firebase.google.com/docs/reference/js/firebase.database.Reference
https://firebase.google.com/docs/database/web/read-and-write

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これではどうでしょう;

js

1ref.on('child_changed', function(data) { 2 ... 3});

ウェブ上でデータリストを操作する > child イベントのリッスン

投稿2018/04/04 05:59

Yatima

総合スコア1159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kbn1053

2018/04/04 07:58

まさにこれです。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問