Проблема с обещаниями и асинхронным/ожиданием в JavaScriptJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с обещаниями и асинхронным/ожиданием в JavaScript

Сообщение Anonymous »

Я бы хотел потреблять данные из веб -сервиса и отобразить их. Данные имеют некоторые зависимости друг от друга, так что можно отобразить только одну группу данных, когда будут прочитаны все данные этой группы. Все запросы должны начинаться как можно быстрее. < /P>
Мой код до сих пор: < /p>

Код: Выделить всё

function asyncFetch(url = "", data = {}) {
return fetch(url, {
method: "POST",
mode: "cors",
cache: "no-cache",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(data),
})
.then(response => (response.json()))
.catch(console.error);
}

const fetchOPDebitoren = () => {
console.log(" fetch fetchOPDebitoren");

return asyncFetch("http://server:3000/readOP", {
token: "mytoken",
options: {
vpkt: "1000",
bpkt: "6999"
}
});
};

const fetchOPKreditoren = () => {
console.log("fetch fetchOPKreditoren");

return asyncFetch("http://server:3000/readOP", {
token: "mytoken",
options: {
vpkt: "7000",
bpkt: "9999"
}
});
};

const fetchSalesData = () => {
console.log(" fetch SalesData");

return asyncFetch("http://server:3000/sales", {
token: "mytoken",
options: {
von_pkt: "10000",
bis_pkt: "99999"
}
});
};

const displayDueBarDashboard = () => {
Promise.all([fetchOPDeb(), fetchOPKred()])
.then(([op_data_deb, op_data_kred]) => {
console.log(" fetch OPs completed");

return new Promise((resolve) => {
/* display the data */
console.log("display op data");
});
})
.catch((error) => console.error('Error display DueBarChart:', error))
};

const displaySalesChart = () => {
Promise.all([fetchSalesData()])
.then(([sales_data]) => {
console.log("fetch SalesChart completed");

return new Promise((resolve) => {
/* display the data */
console.log("display sales data");

});
})
.catch((error) => console.error('Error display SalesChart:', error));
};

await Promise.all([
displayDueBarDashboard(),
displaySalesChart()
])
.then(() => {
console.log("All done, cleanup");
});
Как видите, чтобы отобразить Duebars. Необходимы данные обоих функций fetchop .

Код: Выделить всё

fetch fetchOPDebitoren index.html:442:13
fetch fetchOPKreditoren index.html:465:13
fetch SalesData index.html:488:13
All done, cleanup index.html:563:13
fetch OPs completed index.html:539:14
fetch SalesChart completed
Что я делаю не так? Этот токен требуется с еще одним вызовом Asyncfetch , которого я должен ждать.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... javascript
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»