マナビト
こんにちはマナビトです。
普段はフロントエンドエンジニアとしてJavaScript/TypeScript/Aangular/GraphQLを
メインに開発業務を行なっています。
普段はフロントエンドエンジニアとしてJavaScript/TypeScript/Aangular/GraphQLを
メインに開発業務を行なっています。
先日記事を読んでいて、RxJS7で使用していたtoPromiseメゾットがRxJS8では使用できなくなるため、toPromiseは非推奨ですという記事を見つけました。(2020年6月の記事なので結構前...)Observableで渡ってくる値をPromiseに変換してくれるので割と重宝していたので残念です。
toPromiseメゾットの代わりに使用が推奨されているのがlastValueFromオペレータやfirstValueFromオペレータです。公式ドキュメントを参照すると、最初にObservableで渡ってきた値をPromiseに変換し、subscriptionをクローズしてくれるようです。
import { interval, firstValueFrom } from 'rxjs'; async function execute() { const source$ = interval(2000); const firstNumber = await firstValueFrom(source$); console.log(`The first number is ${ firstNumber }`); } execute(); // 'The first number is 0'
もしRxJSのバージョンが6以前であった場合、pipeオペレータはベータ段階であるため、以前としてtoPromiseメゾットを使用する方が良さそうですね。
本日はここまでとなります。