Вам нужно собрать обещания в массив и использовать Promise.all()
для обеспечения обратного вызова, когда все будет выполнено. Самый простой способ сделать это - изменить цикл for
на вызов Array.prototype.map()
:
function myFunction() {
fetch("https://jsonplaceholder.typicode.com/albums").then(first_response => {
return first_response.json();
}).then(function(value) {
const promises = value.map((_, i) => {
return fetch("https://jsonplaceholder.typicode.com/users")
.then(second_response => second_response.json())
.then(value => console.log(value))
});
return Promise.all(promises);
}).then(() => console.log("DONE!!"));
}
myFunction();
.as-console-wrapper { max-height: 100% !important; top: 0; }
i have used this commercial websupergoo API for PDF generation and it was super simple to work upon. worth every penny spent.
For graphs you can implement any of the following controls :
Лучше всего вы можете использовать Crystal Report, создать график в Crystal Report и затем экспортировать его в PDF
Я использую PDFsharp ., который является проектом с открытым исходным кодом. Он поддерживает графики, возможно, он также поддерживает нужные вам функции.
Я был очень доволен использованием механизма отчетов Stimulsoft. Поддерживает графики и вывод PDF.
Если вы готовы потратить немного денег, я бы предложил заняться ABCPDF.Net из websupergoo . Включено множество примеров, а API прост в использовании.
Для построения диаграмм, если вы готовы использовать .Net 3.5, посмотрите пространство имен System.Web.DataVisualization . Он предлагает все функции версии Dundas Charts Professional. Вы также можете взглянуть на zedgraph
С уважением,