私は最近 Sails に飛び込み、基本的なツールを実行しています。ただし、部分的にのみ。「ジョブ」というモデルの変更をサブスクライブしました。しかし、Postman を介して PUT、POST、または DELETE を実行したときにのみメッセージが表示されますが、ブラウザーの io.socket 自体を使用したときは表示されません。
私のサブスクリプション:
io.socket.on('connect', function connected() {
io.socket.on('job', function jobReceived(message) {
console.log("Got job", message);
});
});
私のブラウザベースの作成:
io.socket.post("/job", {uuid: 'someuuid', ..... }, function(data, err){
console.log(data||err);
io.socket.publishCreate(data.uuid); // Thought this might help, but is not defined.
});
ページを更新すると、ブラウザベースで作成されたデータもそこにあったため、保存されましたが、メッセージは表示されませんでした。
編集:
angular の $http.post(...) を使用すると、機能してメッセージが送信されます。ソケットと関係があるはずです...
Postman/Angular はメッセージを送信し、io.socket は送信しないのはなぜですか?
EDIT2:
アプリの別の場所で GET を行います。Sails サーバーから直接発行された更新を受け取ることができるので、この場合、サブスクリプションが問題になるとは思いません。