Когда я использую машинопись для компиляции этой функции, она работает нормально. Но когда я использую babel с плагином для машинописи, он говорит: checkForRenewedToken is not defined
let data;
let newToken;
await new Promise(resolve => {
(async function checkForRenewedToken() {
newToken = getToken()
if (!newToken) {
setTimeout(checkForRenewedToken, 1000); <--- checkForRenewedToken is not defined
} else {
data = await doCall(newToken);
resolve(data);
}
})();
});
return data;
Чтобы Бабел был счастлив, я должен изменить это так:
let data;
let newToken;
await new Promise(resolve => {
const checkForRenewedToken = async () => {
newToken = getToken()
if (!newToken) {
setTimeout(function () {
checkForRenewedToken(); <--- now it's happy
}, 1500);
} else {
data = await doCall(newToken);
resolve(data);
}
};
checkForRenewedToken();
});
return data;
Почему машинопись может скомпилировать это нормально, а babel с @babel/preset-typescript
плагином - нет?