Я пишу функцию, которая эмулировала большую работу. Мне нужно получить вывод:
Work started.
Hello!
Work done.
Bob
Это мой пример "Hello World":
function bigWork(user){
console.log('Work started.');
const p = new Promise(resolve => {
setTimeout(() => {
// here is some long calculatin must
// be done async. Therefore I placed
// it inside of setTimeout() function
for(let n = 0; n < 100000; n++);
console.log('Work done.');
resolve(user);
},0);
});
return p;
}
bigWork({name:'Bob', age:30}).then(user=> console.log(user.name));
console.log('Hello!');
Его вывод такой же, как я ожидал. Но я вынужден использовать для этого функцию setTimeout()
. Я намеренно использую функцию setTimeout()
для получения нужного мне вывода на консоль.
Могу ли я получить тот же вывод без использования функции setTimeout()
?