我不知道为什么会出现这个错误
getByURL(url: string): any {
return this.apiService.get(url).pipe(map(data => data));
}
getByNextPage(): Observable<any> {
const url = 'url';
this.getByURL(url).pipe(
expand(data => {
console.log(data);
})
);
}
我在具有expand(data => ...的行中遇到此错误。我想使用expand(),以便可以递归调用下一个api。
Type 'void' is not assignable to type 'ObservableInput<{}>'
任何提示将不胜感激。谢谢
答案 0 :(得分:2)
那是因为您使用的expand()运算符很差。如果检查文档,expand()运算符必须返回一个Observable,并且您什么也不返回。
即使您返回“ data”变量,由于该规则,该错误仍将持续。
答案 1 :(得分:2)
您需要检查数据变量的数据类型并在您的方法中返回数据。
getByNextPage(): Observable<any> {
const url = 'url';
this.getByURL(url).pipe(
expand(data => {
console.log(data);
return data;
})
);
}
答案 2 :(得分:1)
expand(data => {
console.log(data);
})
您的函数不返回任何内容,因此无效。您需要返回一个可观察值。