Я не могу понять, почему я получил эту ошибку
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.info(data);
})
);
}
Я получил эту ошибку в строке, которая имеет расширение (данные => .... Я хочу использовать расширение (), чтобы я мог рекурсивно вызывать следующий API.
Type 'void' is not assignable to type 'ObservableInput<{}>'
Любой намек был бы очень признателен. Спасибо
@artemisian Спасибо. stackoverflow.com/questions/56398014/…. У меня есть еще один вопрос, связанный с этим. Не уверен, что вы можете быстро взглянуть. Я застрял там. Спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это потому, что вы плохо используете оператор expand(). Если вы проверите документацию, оператор expand() должен возвращать Observable, а вы ничего не возвращаете.
Даже если вы вернете переменную «данные», ошибка все равно будет сохраняться, потому что это правило.
Вам нужно проверить тип данных переменной данных и вернуть данные в вашем методе.
getByNextPage(): Observable<any> {
const url = 'url';
this.getByURL(url).pipe(
expand(data => {
console.info(data);
return data;
})
);
}
Спасибо. Не могли бы вы помочь мне взглянуть на этот вопрос: stackoverflow.com/questions/56398014/…. Это связано с этим вопросом, но я знаю, почему.
expand(data => {
console.info(data);
})
Ваша функция ничего не возвращает, отсюда и пустота. Вам нужно вернуть наблюдаемое.
Попробуйте добавить оператор return в getByNextPage(), потому что ничего не возвращает,