Есть запрос такого типа:
function downloadExcel(collection) {
const url = collection.getExportUrl();
const loginModel = CM.getModule('login').model;
return new Promise((resolve, reject) => {
$.get({
url: url,
success: (content) => {
fetchSuccess(content);
},
error: (error) => {
console.log(error);
reject();
}
})
})
}
function fetchSuccess(content) {
console.log(this, content);
// const uriContent = "data:application/octet-stream," + encodeURIComponent(content);
const blob = new Blob([content], { type: 'text/html' });
const uriContent = URL.createObjectURL(blob);
let downloadLink = document.createElement("a");
downloadLink.href = uriContent;
downloadLink.download = "data.xls";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
resolve();
}
Проблема в том, что я не могу понять, как мне вызвать функцию resolve из функции свойства success.
Пробовал биндить и передавать this, но почему-то this везде undefined.
Как можно решить данную проблему?