如何在同步模式下调用javascript函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在同步模式下调用javascript函数相关的知识,希望对你有一定的参考价值。

我有以下javascript代码,我想要同步调用它们,例如1,2,3,4。请提出解决方案。我可以在其中使用asyncawait关键字吗?

function first(){
setTimeout(function(){
 console.log('1');
 },500)
}
function second(){
 console.log('2');
}

function third(){
setTimeout(function(){
console.log('3');
},502)
}

function four(){
setTimeout(function(){
console.log('4');
},501)
}

first();
second();
third();
four();
答案

如果你想能够使用async / await,你唯一需要的就是promises(当然也支持async / await)。

因此,根据您的示例,下面的解决方案应该可行。

function first() {
  return new Promise((resolve, reject) => setTimeout(() => {
    console.log('1');
    resolve();
  },500)
}

(async () => {
  await first();
})()

以上是关于如何在同步模式下调用javascript函数的主要内容,如果未能解决你的问题,请参考以下文章

如何实现 javascript “同步”调用 app 代码

如何在javascript中同步调用一组函数

如何在同步函数中等待 JavaScript 中的异步调用?

javascript异步编程学习及实例

JavaScript 异步操作之回调函数

同步调用异步 Javascript 函数