Когда вы говорите
, оно не выходит из функции
Да, оно выходит из функции, возвращающей вам обещание.
Просто сделайте что-то вроде этого:
(function () {
return new Promise(resolve => {
while (i <= fcount) {
i++;
//some code
}
console.log("Hey");
resolve("done");
})
}().then(message => console.log(message)));
И вы получите done
в консоли.
Другое дело, почему вы используете async
, вам всегда нужно использовать async
с await
.
Вы можете сделать что-то вроде этого:
async function whileFunc() {
const message = await (function () {
return new Promise(resolve => {
while (i <= fcount) {
i++;
//some code
}
console.log("Hey");
resolve("done");
})
}());
console.log(message);
}
, позвонив whileFunc
, вы получите message
, используя async / await