Проблема здесь в том, что запросы на выборку выполняются асинхронно.
Поскольку завершение первого запроса дает некоторый результат, который является обязательным для других запросов.
Вы должны убедиться, что другой 3 запроса выполняются только после завершения первого.
Например - рассмотрим случай, когда 1-й запрос не завершен, а 3-й запрос завершен, но 3-й запрос использует document.getElementById("DivID3")
и DivID3
еще недоступен. Таким образом, он выдаст ошибку, и вы должны отловить ошибку, поместив блок catch, иначе TS будет жаловаться, выбрасывая ошибку типа uncaught (в обещании).
Чтобы решить эту проблему, и это работает нормально, выполните приведенный ниже код -
window.onload = function() {
// First fetch for page body
fetch('../NameOfController/method1')
.then((response) => {
response.text().then((data) => {
document.getElementById("DivID1")!.innerHTML = data;
// Inside body Div1
fetch('../NameOfController/method2')
.then((response) => {
response.text().then((data) => {
document.getElementById("DivID2")!.innerHTML = data;
});
});
// Inside body Div2
fetch('../NameOfController/method3')
.then((response) => {
response.text().then((data) => {
document.getElementById("DivID3")!.innerHTML = data;
});
});
// Inside body Div3
fetch('../NameOfController/method4')
.then((response) => {
response.text().then((data) => {
document.getElementById("DivID4")!.innerHTML = data;
});
});
});
}).catch((error) => {
console.log(error);
});
};