Я не знаю, как извлечь значение из Observable, которое будет возвращено функцией, в которой присутствует Observable. Мне нужно только то, что нужно вернуть, ничего больше.Как вернуть значение из функции, в которой есть подписная подписка?
Текущая версия, которая работает
function getValueFromObservable() {
this.store.subscribe(
(data:any) => {
console.log(data)
}
)
}
getValueFromObservable()
мне это нужно работать, работать, чтобы вернуть значение, а затем:
function getValueFromObservable() {
this.store.subscribe(
(data:any) => {
return data
}
)
}
console.log(getValueFromObservable())
Что я здесь делаю неправильно?
Вы должны вернуться к заметному/Пообещайте и передайте данные через него, когда ваш наблюдаемый будет разрешен. – galvan
Можете ли вы поместить для этого простой код? – Teddy
То, что вы пытаетесь достичь, - это анти-шаблон: вы пытаетесь «синхронизировать» задачу async. Это не значит, что наблюдаемые должны работать. Короче говоря, в большинстве случаев функция, имеющая наблюдаемый в качестве входного сигнала, должна также возвращать наблюдаемое - или возвращать ничего. И когда вам нужно что-то сделать с выходом, подпишитесь на него. В этом случае, если вы хотите console.log данные, просто сделайте это внутри 'subscribe' –