Я пытаюсь переместить проект Javascript в Typescript. После изменения расширения файла я получил несколько таких ошибок:
Property 'next' does not exist on type 'Observable<any>'
Тема создана с:
export const foo$ = new Subject().mergeMap(funcThatReturnsObservable)
Где funcThatReturnsObservable:
/**
* Merges data
* @param {object} data - data used to make observable
*/
function funcThatReturnsObservable(data) {
return zip(
// observable,
// observable,
)
и подписка происходит следующим образом:
foo$
.pipe(
mergeMap(anotherFuncThatReturnsObsv)
)
.subscribe();
Местоположение, которое оно использует следующее, находится в экспорте, так что другие файлы могут вызывать эти события.
export default {
error(error) {
foo$.next(console.log(error));
},
}
Кажется как и Typescript не может увидеть, что foo $ все еще остается темой после mergeMap вверху. Я могу заставить его нажатием as Subject<any>
, но это похоже на запах кода. Что я могу сделать, чтобы помочь Typescript увидеть, что это будет тема? Спасибо!