Как вы возвращаете подписку inn angular, которая вызывается для инъекций.
Итак, сначала я понял, что это заняло у меня час.
returnURLNotes(): Observable<any> {
return this.store.select(selectDentureDesignNotes).subscribe((notes) => {
if (
notes &&
notes[this._CANVAS_NAME] &&
notes[this._CANVAS_NAME].length > 0
) {
return notes[this._CANVAS_NAME];
}
});
}
видите первое возвращение?Я только что вернул store.selector
, и этот подход не работает.потому что внутреннее возвращение не будет доступно как возвращаемое значение метода returnURLs
.
, поэтому здесь мое решение.Это работает, но я не знаю, правильно ли это.
returnURLNotes(): any {
let URLs = {};
const URLNotes$ = this.store.select(selectDentureDesignNotes);
URLNotes$.subscribe((notes) => {
if (
notes &&
notes[this._CANVAS_NAME] &&
notes[this._CANVAS_NAME].length > 0
) {
URLs = notes[this._CANVAS_NAME];
}
});
return URLs;
}
но я не чувствую, что это правильный путь из-за однопоточной JS или "асинхронности"