gpt4 book ai didi

rxjs - 属性 'filter'在 'BehaviorSubject'类型上不存在。在rxjs 6中

转载 作者:行者123 更新时间:2023-12-03 17:50:40 25 4
gpt4 key购买 nike

将Rx js从5升级到6时,抛出以下错误

[ts]类型'BehaviorSubject'上不存在属性'filter'。

当前行为

import {BehaviorSubject} from 'rxjs';

tokenSubject: BehaviorSubject<string> = new BehaviorSubject<string>(null);
return this.tokenSubject
.filter(token => token != null)
.take(1)
.switchMap(token => {
return next.handle(this.addToken(req));
});

[ts]类型'BehaviorSubject'上不存在属性'filter'。

环境
 "@angular/common": "^6.0.3",
"rxjs": "^6.0.0",

预期行为

没有错误,工作正常

以前的行为
import { BehaviorSubject } from "rxjs/BehaviorSubject";
tokenSubject: BehaviorSubject<string> = new BehaviorSubject<string>(null);
return this.tokenSubject
.filter(token => token != null)
.take(1)
.switchMap(token => {
return next.handle(this.addToken(req));
});

[ts]类型'BehaviorSubject'上不存在属性'filter'。

环境
"@angular/common": "^5.0.3",
"rxjs": "^5.4.3"

最佳答案

RxJS v5.x to v6 Update Guide
说:

The previous coding style of chaining operators has been replaced by piping the result of one operator to another.



使用管道语法:
return this.tokenSubject.pipe(
filter(token => token != null),
take(1),
switchMap(token => {
return next.handle(this.addToken(req));
})
);

关于rxjs - 属性 'filter'在 'BehaviorSubject<string>'类型上不存在。在rxjs 6中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51150889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com