#javascript #http #angular
#javascript #http #угловой
Вопрос:
Это способ просто извлекать данные (в angular2) без внедрения в службу зависимостей Observable и Response? Я нашел это избыточным для одного простого запроса.
Ответ №1:
Нет, даже если вы делаете это на чистом Javascript, вам нужно пройти маршрут обратного вызова, просто реализация с Observable
помощью является более чистой и простой в обращении.
Вы можете выполнять синхронные запросы, но поскольку Javascript выполняется только в одном потоке, вы заблокируете всю страницу до завершения запроса, поэтому это настоятельно не рекомендуется:
// DON'T TRY THIS AT HOME OR PRODUCTION OR ANYWHERE ELSE
let request = new XMLHttpRequest();
request.open("GET", theUrl, false); // false for synchronous request
request.send(null);
let response = JSON.parse(request.responseText);
Ответ №2:
Angular2 может использовать promises для Http, если вы предпочитаете их Rxjs.
return this.http.get("/some/url")
.toPromise();
Однако это не синхронно, вам нужно будет связать .then(response)
метод, чтобы получить ваш результат.