web-dev-qa-db-fra.com

Observable «of» déconseillé. Quel est l'équivalent?

Dans mon cas, j'ai un jeton d'accès, et si ce jeton existait, je le retournerais comme observable de type chaîne:

if (this.accessToken){
  return of(this.accessToken);
}

En raison d'une récente mise à jour, j'ai remarqué que of est déconseillé avec le message suivant:

of is deprecated: use scheduled instead 'scheduled([a, b, c], scheduler)' (deprecation)

La nouvelle syntaxe est assez verbeuse, est-ce que quelqu'un connaîtrait la version équivalente scheduled de la même version simple of? Le nom du mot clé rend difficile la recherche d'informations à ce sujet.

Merci!

8
user1059939

Seules les surcharges qui acceptent un planificateur sont obsolètes. La variante que vous utilisez n'est pas déconseillée, voir https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/of.ts

7
Daniel Hilgarth

Comme indiqué ci-dessus, il n'est pas obsolète.

Je suppose que vous migrez de RxJS v5 vers RxJS v6:

Observable.of(1,2,3).map(x => 2 * x);

Devient

import {of, map} from 'rxjs';
import {map} from 'rxjs/operators';

of(1,2,3).pipe(map(x => 2 * x));

Vérifiez plus ici https://www.learnrxjs.io/concepts/rxjs5-6.html

5
hzitoun

Je ne pense pas que ce soit obsolète. Vous avez juste besoin d'importer correctement comme ceci

import { Observable, forkJoin } from "rxjs";

Ci-dessous, le formulaire api rxjs qui est toujours supporté

export declare function of<T, T2, T3, T4, T5, T6, T7, T8, T9>(a: T, b: T2, c: T3, d: T4, e: T5, f: T6, g: T7, h: T8, i: T9, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9>;
export declare function of<T>(...args: (T | SchedulerLike)[]): Observable<T>;
export declare function of<T>(a: T): Observable<T>;
export declare function of<T, T2>(a: T, b: T2): Observable<T | T2>;
export declare function of<T, T2, T3>(a: T, b: T2, c: T3): Observable<T | T2 | T3>;
export declare function of<T, T2, T3, T4>(a: T, b: T2, c: T3, d: T4): Observable<T | T2 | T3 | T4>;
export declare function of<T, T2, T3, T4, T5>(a: T, b: T2, c: T3, d: T4, e: T5): Observable<T | T2 | T3 | T4 | T5>;
export declare function of<T, T2, T3, T4, T5, T6>(a: T, b: T2, c: T3, d: T4, e: T5, f: T6): Observable<T | T2 | T3 | T4 | T5 | T6>;
export declare function of<T, T2, T3, T4, T5, T6, T7>(a: T, b: T2, c: T3, d: T4, e: T5, f: T6, g: T7): Observable<T | T2 | T3 | T4 | T5 | T6 | T7>;
export declare function of<T, T2, T3, T4, T5, T6, T7, T8>(a: T, b: T2, c: T3, d: T4, e: T5, f: T6, g: T7, h: T8): Observable<T | T2 | T3 | T4 | T5 | T6 | T7 | T8>;
export declare function of<T, T2, T3, T4, T5, T6, T7, T8, T9>(a: T, b: T2, c: T3, d: T4, e: T5, f: T6, g: T7, h: T8, i: T9): Observable<T | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9>;
export declare function of<T>(...args: T[]): Observable<T>;
0
Tony Ngo

Si vous avez un planificateur, l'équivalent de "de (élément, planificateur)" est "planifié ([élément], planificateur)". Si vous passez déjà un tableau d'éléments, vous n'avez pas besoin des crochets.

0
Sean Duggan