Я только начал с приложения Angular 2, которое делает некоторые http-вызовы, и это познакомило меня с Observables. Мне все еще трудно научиться с ними справляться, документации немного не хватает для начинающих. Я приведу короткий пример, чтобы проиллюстрировать трудности, с которыми я сталкиваюсь:
getValue() {
let headers = new Headers({ 'Content-Type': 'text/plain' });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://url/boolean.json', options)
}
Это вызов get, который возвращает логическое значение. Теперь, если я захочу использовать это значение в функции, я инстинктивно ожидаю, что смогу присвоить переменную следующим образом:
let varName = this.getValue()
Очевидно, это невозможно, я читал, что для получения вывода из наблюдаемого вам нужно подписаться на него. Нет ли возможности позволить моей функции getValue() возвращать логическое значение, а не наблюдаемое? Однако в этом случае, поскольку мне нужно только логическое значение, я не уверен, имеет ли смысл асинхронное программирование? Не то чтобы это могло занять много времени. Есть ли в Angular 2 способ избавиться от этого асинхронного поведения (для таких простых функций?)?