Есть функция такого типа:
'use strict';
function downloadExcel(url) {
const loginModel = CM.getModule('login').model;
return new Promise(function(resolve, reject) {
$.get({
url: url,
beforeSend: (request) => {
request.setRequestHeader('Authorization', loginModel.getToken());
},
xhrFields: {
responseType: 'blob'
},
// this === undefined ??
success: fetchSuccess.bind(this, content, resolve),
error: (error) => {
console.log(error);
reject(error);
}
})
})
}
function fetchSuccess(content, resolve) {
console.log(this);
downloadLink.download = "data.xls";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
resolve();
}
При успешном запросе к серверу, я хочу при помощи .bind передать функции успешного запроса this/content/resolve, но я не могу этого сделать так как this в этой функции равен undefined, и я не могу понять почему.
Может кто то знает как решить эту проблему?