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

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

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

Q&A

解決済

1回答

2586閲覧

Milkcocoaでpushしたデータをリアルタイムで表示し続ける方法

GiveAHand

総合スコア286

0グッド

1クリップ

投稿2016/07/10 05:29

Milkcocoaを使って、簡単なリアルタイムモニタを作成しようと思っています。

ある端末でデータをpushして、pushしたデータがきちんとデータベースに入っていることは、データストアのリスト表示で確認できましたのですが、そのデータを別の端末でリアルタイムに表示し続ける方法がよくわかりませn。

molkcocoaのドキュメントを見ると、pushしたデータは、getで受け取るとあるのですが、チューとルアルを見ますと、スマホを傾けると、PCでその傾きをキャッチできるサンプルあり、そのPC側のサンプルを見る限りでは、

javascript

1ds.on('send', changeViewFromSentMode);

このようにonイベントを設けて、onイベントの引数として、値取得のプログラムを記述しているように見えます。

リアルタイムでpushデータを受信してそのデータを表示させるのは、getではなく、onを使うのでしょうか?

それとも、これはsendのデータを受信する方法であり、pushデータは、やはりgetを使うのでしょうか?

また、getを使う場合、リアルタイム表示させるために、jQuwry側でタイマーか何かでループし続ける必要はあるのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

ドキュメントを見るとって書くのであれば、リンクを貼っていただけると解答しやすい質問になると思います。

おそらく、このページを参考にされたのだと思って解答します。

そこに、

ds.on('send', function(sent){ /* コールバック関数 */ })でsend()メソッドを監視します。「監視する」とは、milkcocoa.dataStore('gravity')にsend()が発行されると、コールバック関数を実行するといった意味です。

と書かれています。これはsendで送ったときに発生するイベントです。言葉の意味がわからなければ、コールバック関数等でぐぐってみてください。

今回の場合そうではなくて、別の端末でpushされているようなデータをリアルタイムで受け取りたいのだと思います。そういう場合は、普通にgetで値を取得するのが普通だと思われます。
以下は、公式のリファレンスを元に1秒毎にgetするように改良したものです。

js

1#データストア名等は適宜変更してください。 2var get_data = milkcocoa.dataStore('users').get('fred', function(err, datum) { 3 console.log(datum); 4 /* 5 { 6 id: 'fred', 7 timestamp: 12345... , 8 value: { 9 ... 10 } 11 } 12 */ 13}); 14setInterval(get_data, 1000); #1000msつまり1秒ごとに実行する

投稿2016/07/10 11:59

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

GiveAHand

2016/07/12 13:02

serinuntius様 あぁ、なるほど。 やっぱりpushしたデータはgetで定期監視しないといけないのですね。。。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問