function loadSelectOptions(url, selectElement, callback) {
...
data.forEach(item => {
const o = callback(item);
const option = createOption(o.val, o.text);
selectElement.appendChild(option);
});
...
}
loadSelectOptions(
'http://:3000/type_work',
selectElement,
item => ({val:item.type_work, text: item.type_work})
);
loadSelectOptions(
'http://:3000/printerCB',
selectElement,
item => ({val:item.printer_id, text: item.printer})
);
loadSelectOptions(
'http://:3000/printer_material?printer_id=2',
selectElement,
item => ({val:item.printer_id, text: item.material})
);
loadSelectOptions(
'http://:3000/performers',
selectElement,
item => ({val:item.performer_id, text: item.performer})
);
loadSelectOptions(
'http://:3000/printer_format?printer_id=2',
selectElement,
item => ({val:item.printer_id, text: item.format})
);
Собственно идеальная либа будет вынуждена юзать и fetch и xmlhttp, потому что в первом тоже отсутствует часть "старых и ненужных" фич.:)
А можете рабочий пример привести на fetch прогресса загрузки файла на сервер?
Это плохо, потому что только он позволяет отслеживать прогресс загрузки.
https://www.electronjs.org/
но я не агитирую за него