ホームページ > ウェブフロントエンド > jsチュートリアル > RxJS のサブスクライブ引数へのサブスクライブ コールバックの移行

RxJS のサブスクライブ引数へのサブスクライブ コールバックの移行

Susan Sarandon
リリース: 2025-01-09 20:29:48
オリジナル
520 人が閲覧しました

Migrando subscribe Callbacks para subscribe arguments no RxJS

日常生活で rxjs を使用しているあなたは、バージョン 6.4 以降、このことに気づいたかもしれません。 RxJS は、subscribe:

メソッドに非推奨のアノテーションを配置しました。

@deprecated — 個別のコールバック引数を渡す代わりに、オブザーバー引数を使用します。個別のコールバック引数を取る署名は v8 で削除されます。詳細: https://rxjs.dev/deprecations/subscribe-arguments

個別のコールバックを使用するとメソッドの読み取りが悪化するため、メソッドが返すプロパティを構造化してサブスクライブ引数を使用することが望ましいという理由が正当化されます。

これが実際にどのようなものかをよりよく理解するために、簡単な例を見てみましょう:

データ.js

import { Observable } from "rxjs";

/**
 * Cria um observable que emite valores numéricos de 1 até 5, e então se finaliza.
 *
 * @returns {Observable<number>} Um observable que emite números de 1 até 5 em sequência.
 */
export const data = () => {
  return new Observable((observer) => {
    for (let i = 1; i <= 5; i++) {
      observer.next(i);
    }

    observer.complete();
  });
};

/**
 * Cria um observable que emite um error imediatamente
 *
 * @returns {Observable<never>} Um observable que emite um erro.
 */
export const dataWithError = () => {
  return new Observable((observer) => {
    observer.error("Aconteceu um erro!");
  });
};

ログイン後にコピー

これがベースファイルになります。最初のメソッドは .next() メソッドで 1 から 5 までの番号を順番に出力し、ループが終了するとすぐに .complete() メソッドでオブザーバブルを完了します。

2 番目のメソッドは、すぐにエラーをスローするオブザーバブルを作成します

追記: .error() メソッドが呼び出されると、オブザーバブルは値の発行を停止し、.next() 経由で値の発行を継続したり、.complete() で完了したりすることはできません。

それでは本題に入りましょう。

最初の例として、現在非推奨になっている方法を使用し、次に、observable 引数の使用方法を示します。


import { data, dataWithError } from "./data.js";

data().subscribe(
  (value) => console.log(value),
  (error) => {},
  () => {
    console.log("completou");
  }
);

dataWithError().subscribe(
  () => {},
  (error) => {
    console.error({ error });
  }
);

ログイン後にコピー
これは例であるため、よりわかりやすくなっていますが、同時に各コールバックの順序 (次、エラー、完了) を知る必要があることに注意してください。

そうは言っても、引数オブザーバブルの使用方法を見てみましょう。


import { data, dataWithError } from "./data.js";

data().subscribe({
  next: (data) => console.log(data),
  complete: () => console.log("completou"),
});

dataWithError()
    .subscribe({ error: (error) => console.error({ error })
    });
ログイン後にコピー
この時点から、引数 observables を使用することで、subscribe メソッド内で何を使用しているのかをより明確に読み取ることができ、使用しないコールバックや引数を宣言する必要がなくなります。

移行は簡単に実行でき、この API の非推奨メッセージが表示されずにコードが残ります。

以上がRxJS のサブスクライブ引数へのサブスクライブ コールバックの移行の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート