Сделайте вызов функции синхронным - PullRequest
1 голос
/ 07 августа 2020
function first(){
    console.log("1")
}

function second(){
     new Promise ((resolve,reject)=>{
        setTimeout(function(){
            console.log("2")
            resolve();
        } ,0);

     })  
}

function third(){
    console.log("3")
}

 async function run(){
   
    first();
    await second();
    third();

}

run();

Необходимо сделать вызов функции syn c, чтобы получить окончательный результат, поскольку 1,2,3 я попытался создать обещание и использовать asyn c await, но это не помогло другим способом

1 Ответ

3 голосов
/ 07 августа 2020

Упакуйте setTimeout в обещание и разрешите в setTimeout,

Используйте asyn c await для этого обещания, чтобы оно выполнялось последовательно

function first() {
  console.log("1")
}

function second() {
  return new Promise(res => {
    setTimeout(function() {
      console.log("2");
      res()
    }, 0)
  })

}

function third() {
  console.log("3")
}

async function run() {

  first();
  await second()
  third();
}

run();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...