У меня есть ситуация, в которой мне нужно подождать, пока наблюдаемое не начнет испускать значения, прежде чем будет выполнен следующий код.Самое близкое, что я получил до сих пор, это:
async ensureContentLoaded() {
if (!this.content) {
defer(async () => {
this.content = await this.getContent();
console.log(`Got content`);
}).subscribe();
console.log(`Finished`);
}
В данный момент консольный журнал Finished
появляется перед Got content
.Я хочу, чтобы наблюдаемое блокировалось до тех пор, пока оно не начнет излучать значения.Обратите внимание, что this.getContent()
возвращает обещание;хотя он может легко вернуть наблюдаемое, если это что-то меняет.Также я знаю, что this.content
относится к неправильному контексту, но это еще одна проблема.
Как я могу создать наблюдаемое, которое будет блокировать выполнение до тех пор, пока значение не будет передано?