少し疑似コードを下に通過せずにサブスクライブします。 これまでのところ、私はobservableを拡張しようとしましたが、私が行った場合、observable内の演算子をオーバーライドする必要があるように見えます。RxJsは、内部のタイトルを説明するために
ほとんどの場合、イベントにメタデータを提供したいと考えています。
これは外部的に使用するライブラリなのでmyObjectを渡したくないので、私は自分のコードベース内のobservablesを購読しますが、observableを連鎖することは外部で行われます。
誰でもこれを達成するためのアイデアはありますか?ただ必要な、すでに書き込まれている
const server$ = RxHttpServer(server)
const api$ = server.filter((request) => request.url.startsWith('/api'));
const apiEndpoint$ = api.map(() => ({
status: 400,
body: 'this is an api endpoint',
headers: {
}
}));
// Inside my library, note the use of the response object that I don't have access to:
apiEndpoint.subscribe((dataToSend) => response.write(dataToSend))
内部ロジックと、これらのオブジェクトの取り扱い:コンテキストについては
、 は、私は私が次の操作を行うことができます純粋にRxJs HTTPライブラリを作成しようとしていますその応答オブジェクトに返信します。
私のRxJSに関する知識は限られていますが、myObjectをパラメータとして渡す必要はありませんか? 'source.next(newNumber、myObject)'もしあなたが何らかの引数の分解を行うことができなかったら 'source.next({newNumber、myObject})'。 – Baruch
@Baruch、これは私がこの記事で避けようとしていることの一つです。フレームワークのユーザが、自分が作ったチェーンごとにレスポンスを渡す必要はないからです。フラット・マップで別のエンドポイントを呼び出すエンドポイントを想像するとすぐにレスポンスが失われたり、セレクタ関数をどこからでも使用しなければならない場合は、使いやすさが少し損なわれてしまいます。 –
'response'オブジェクトをラップすることを検討しますかあなたは観察できる必要がありますか?その場合、 'apiEndpoint $'と 'response $'の両方を 'combineLatest'してコールバックの2つにアクセスすることができます。 – atomrc