現在、私はソケットを初期化してイベントを設定するシングルトン(static-ish?)サービスを持っています。サービスは、ソケット情報を利用するコンポーネントのそれぞれに注入されます。Angular2 + Socket.IO実装のベストプラクティス
私の質問は以下のとおりです。
は、ベストプラクティスのようなこの音をしていますか?
あなたが見越して問題を起こすことはできますか?
変更することができますか?
現在、私はソケットを初期化してイベントを設定するシングルトン(static-ish?)サービスを持っています。サービスは、ソケット情報を利用するコンポーネントのそれぞれに注入されます。Angular2 + Socket.IO実装のベストプラクティス
私の質問は以下のとおりです。
は、ベストプラクティスのようなこの音をしていますか?
あなたが見越して問題を起こすことはできますか?
変更することができますか?
私は、角度の1.5.xで開発してきたので、私は私の答えはどのように適用わからないんだけど、多分あなたはそれから設計プリンシパルを取ることができ、そしてそれを適切に適用されますが、ここに行きます。
私がこれをやり遂げる方法についての私の最初の考えはこれです。ソケットを初期化するなどの処理を行うソケットサービスを設定し、イベントをバインドする2つのパブリック関数を持ち、イベントをバインド解除します。バインディングは、イベント名を取り、データのパラメータを持つ関数、そしておそらく後にイベントをバインド解除するにはIDを返し、このようになります。
var bindingId = SocketService.bind('socketEventName', function(eventData){
console.log(eventData);
});
、その後、あなたはこの
を行うことができますバインド解除しますSocketService.unbind(bindingId);
この種のレイアウトでは、SocketServiceに他のサービスを含めることができ、SocketServiceにそのロジックをすべて持たせるのではなく、必要に応じて他のサービスが応答を処理できるようになります。