是否有一个rxjs运算符/函数可以执行此操作?我的函数access()
需要预订一次,每次调用该函数。
在下面的代码段中,$valueChanges
会针对所做的每个更改发送数据。调用access()
而没有const $ = ...
和$.unsubscribe()
时,可观察到的$valueChanges
会发出不必要的值流。
access() {
const $ = $valueChanges.pipe(
map((res) =>
...
),
).subscribe((res) => {
...
$.unsubscribe();
});
}
您可以考虑使用take()
运算符,并且在完成之前仅发出第一个值。
根据documentation,take
运算符
Emit provided number of values before completing.
这是使用方法:
access() {
valueChanges
.pipe(
map((res) =>
...
),
take(1),
).subscribe((res) => {
...
});
}