2015-11-25 1 views
8

nodejsアプリケーションを購読して、セイルのイベントをモデル化しようとしています。ここに私のコードは次のとおりです。sails.io.js - nodejs - モデルイベントを受け取っていないPubSubが手に入りました

var socketIOClient = require('socket.io-client'), 
    sailsIOClient = require('sails.io.js'); 

var io = sailsIOClient(socketIOClient); 

io.sails.url = 'http://localhost:1337'; 

io.socket.on("agent", function(event) { 
    console.log(event); 
}) 

io.socket.get("/agent", function(resData, jwres) {}) 

クライアント(nodejs)が接続したときにここで帆サーバー上の出力のすべてにリンクされています

https://gist.github.com/CiscoKidxx/e5af93ebcc24702ba4f8

私の理解では、私が作成したときということです新しいエージェントは、変更を一覧表示するconsole.log(イベント)を起動する必要があります。これは起こっていない。私は、スクリプトの起動時に「今セイルに接続しました」を取得します。何かご意見は?ここで

は私のUserControllerでの新しいエージェントを作成するために私の呼び出しです:上記

Agent.create({ 
    syncToken: token, 
    owner: user.id 
}).exec(function (err, newAgent) { 
    Agent.publishUpdate(newAgent.id, {syncToken: newAgent.syncToken}); 
+0

'Agent'モデルをどのように変更していますか?データベースに直接変更する場合は、 '.publishUpdate()'を使う必要があります。 http://sailsjs.org/documentation/reference/web-sockets/resourceful-pub-sub/publish-updateを参照してください。 –

+0

私は新しいユーザーを登録して新しいユーザーにエージェントを登録するたびに新しいエージェントを作成していますUserController.js私は自分のOPにそのコードのいくつかを含めました。 – CiscoKidx

答えて

6

サーバー側のコードスニペットは、コールバックでAgent.publishCreateへの呼び出しを示すが、むしろていません公開更新

私が理解するところでは、publishCreateは青写真を使用するときにのみ自動的に起動されますが、上のAgent.createのようなプログラム呼び出しでは起動されません。

したがって、publishUpdateからpublishCreateに変更すると、状況に応じて修正される可能性があります。

関連する問題