いくつかのユーザー、たとえば100人がいるとします。各ユーザーは、100個のアイテムを持ち、その割合は他のユーザーによってユーザーに共有されています。各項目には名前があります。何百ものトピックについて、フェニックスチャンネルを設定するにはどうすればよいですか?
だから私は、user1のitem1の名前を編集すると、item1を持つすべてのユーザーを更新する必要があります。
私はすでに必要なアクセス許可を設定していますが、REST APIはコントローラで動作しています。
今、私はフェニックスのリアルタイムアップデートとチャンネルを実装したいと思います。トピックitem:*
のチャンネルがある場合は、すべてのユーザーのすべての項目を考慮することができます。
したがって、item1、item2、item3 ....、item100のuser1がある場合。リスナーをjavascript側でどのようにセットアップしますか?これが正しいアプローチだとは思わない?
誰かが構造を教えてくれますか?ありがとう!
更新:次のアプローチは有効ですか?
forEach(function(items, val) {
var topic = "item:" + val
// Join the topic
var channel = socket.channel(topic, {})
channel.join()
.receive("ok", data => {
console.log("Joined topic", topic)
})
.receive("error", resp => {
console.log("Unable to join topic", topic)
})
channel.on("name_changed", resp => {
console.log("name was changed of this item", resp);
})
});
なぜ試して結果を投稿しないのですか?私はあなたがそれぞれの反復で 'channel'を上書きしているので動作しないと思うが... –