httpを使用してからsocket.ioを使用してAngular 2アプリにデータを移動する処理が進行中です。この例では、私のコンポーネントコンストラクタでapi.serviceのプライベートバージョンを使用しています。私が今行う必要があるのは、api.serviceで定義された "get"関数を呼び出すことだけです(すでにsocket.ioを使用するように設定されています)。StringパラメータをMy Socket.io対応のAngular 2コンポーネントに渡す
私はこのように見えたHTTP GET機能使用していた私のコンポーネントで今public get(req: string, options: any, callback: IRequestCallback) {
// go get stuff
}
:今、私は
getByCategory() {
return this._http.get(this._url)
.map((response:Response) => response.json())
.catch(this._errorsHandler);
}
をこれは次のようになりますapi.serviceから何を「取得」機能でありますこれを変更して、代わりにapi.serviceからsocket.io関数を使用してください。一番上のコードでわかるように、api.serviceからのソケットget()呼び出しは、3つのパラメータ(文字列、オプション、コールバック)を要求しています。私はこれを試しました:
getByCategory() {
return this.__socket.get(this._url, this.args, function(data) {
});
}
...しかし、私はすでにURLがapi.serviceで提供されていることを認識しています。だから、私が悩んでいるのは、これが響くかもしれないほど愚かで、私が最初のパラメータとして渡すことができるものです。空の文字列を最初のパラメータとして渡してみましたが、それがエラーになりました。 URLの代わりに、どんな文字列をここに渡すことができますか?それともこの周りに別の方法がありますか?
ありがとうございます、私はこれを試してみます。私たちは、クライアントとサーバーの間で、また複数のユーザーから、リアルタイムで最新の情報をやりとりするため、ソケットに切り替えました。 – Muirik
Gotcha!私はそれがうまくいくことを望む私はその機能が何をしているのか分からないので、確信が持てませんが、それが最善の策です。 – chrispy
"未定義"を試してみることをお勧めします。私はときどき "未定義"はエラーではなく、有効なプロパティであることを忘れています。 – Muirik