Следующая строка означает:
this.companyService
.put$(this.currentId, this.appMenu.currentObject)
.subscribe(selectedCompany => {
this.appMenu.currentObject = selectedCompany
});
Если вам нравится метафора:
В банке есть стихотворение (database
), и у вас есть копия стихотворенияв вашей тетради (client application, in your case Angular application
).
Однако вы хотите отредактировать несколько строк стихотворения в своей тетради и стихотворение в банке.
Затем вы звоните сотруднику банковского счета (this.companyService
), чтобы поставить ваши строки (.put
) в существующее стихотворение (this.currentId, this.appMenu.currentObject
), а затем вы ждете сотрудника банковского счета (.subscribe
), пока она / он не обновит стихотворение в банке.
ОБНОВЛЕНИЕ:
Как говорит Angular doc:
HttpClient в @ angular / common / http предлагает упрощенный клиентский HTTP-API для приложений Angular, который опирается на интерфейс XMLHttpRequest, предоставляемый браузерами.Дополнительные преимущества HttpClient включают функции тестируемости, типизированные объекты запросов и ответов, перехват запросов и ответов, наблюдаемые API-интерфейсы и упрощенную обработку ошибок.
Как говорит MDN:
XMLHttpRequest или XHR - это API-интерфейс JavaScript, используемый для связи между клиентом и сервером.Используйте объекты XMLHttpRequest (XHR) для взаимодействия с серверами.Вы можете извлечь данные из URL без необходимости полного обновления страницы.Это позволяет веб-странице обновлять только часть страницы, не нарушая того, что делает пользователь.XMLHttpRequest широко используется в программировании AJAX.
Вопреки своему названию, XHR может использоваться для получения JSON, HTML и простого текста, а также XML.
И пример использования:
// 1. Here we are creating a new XMLHttpRequest object
let xhr = new XMLHttpRequest();
// 2. Then we set its configuration: request of GET type for the URL /somePage/anotherPage
xhr.open('GET', '/somePage/anotherPage');
// 3. We are sending the request over the network
xhr.send();
// 4. Then this rows will be called after the response is received from the
// server to the client
xhr.onload = function () {
if (xhr.status != 200) { // see what HTTP status of the response is come
alert(`Error ${xhr.status}: ${xhr.statusText}`); // e.g. 404: Not Found
} else { // show the result
alert(`Great, got ${xhr.response.length} bytes`); // responseText is the server
}
};
// Get progress from XMLHttpRequest
xhr.onprogress = function (event) {
if (event.lengthComputable) {
alert(`We are received ${event.loaded} of ${event.total} bytes`);
} else {
alert(`We are received ${event.loaded} bytes`); // no Content-Length
}
};
xhr.onerror = function () {
alert("Request failed");
};
То есть subscribe
метод HTTPClient
равен onload
метод XMLHttpRequest
.