Angular 为什么不';订阅的NgRx效应中的t观测值?
当我在Angular中使用observable时,我的理解是,除非订阅,否则observable不会运行。但是,在查看rxjs效果时,代码通常是这样的:Angular 为什么不';订阅的NgRx效应中的t观测值?,angular,rxjs,Angular,Rxjs,当我在Angular中使用observable时,我的理解是,除非订阅,否则observable不会运行。但是,在查看rxjs效果时,代码通常是这样的: getProcess$ = createEffect(() => this.actions$.pipe( ofType(ProcessActions.getProcessIdSuccess), switchMap((action) => this.processService.getP
getProcess$ = createEffect(() =>
this.actions$.pipe(
ofType(ProcessActions.getProcessIdSuccess),
switchMap((action) =>
this.processService.getProcess(action.payload).pipe(
delay(5000),
map((data: any) => ProcessActions.getProcessSuccess({ payload: data }))
)
)
)
);
代码中没有一个名为subscribe()的方法,这让我有些困惑。在没有订阅的情况下,如何运行内部可观察的代码?谢谢。NgRx负责幕后的订阅。这就是为什么我们不必弄清楚何时/如何订阅我们在库中使用的各种观察值
简单地说,只要可能(通常是这样),严格避免订阅TS中的可观察内容。一般来说,您希望在某个模板中使用
async
管道。NgRx会在后台处理订阅。这就是为什么我们不必弄清楚何时/如何订阅我们在库中使用的各种观察值
简而言之,只要可能(通常是这样),严格避免订阅TS中的可观察对象。一般来说,您希望在某个模板中使用
async
管道。它正在订阅,但由ngrx订阅。它将查看effect类的所有实例变量,并在它们上运行subscribe,它是由ngrx订阅的。它将检查effect类的所有实例变量,并在它们上运行subscribe