【问题标题】:Are calls synchronous in Javascript? [duplicate]Javascript中的调用是同步的吗? [复制]
【发布时间】:2015-05-10 13:13:30
【问题描述】:

我找不到这个问题的答案,抱歉,如果这是一个重复的帖子。每当我搜索这个时,我都会收到 AJAX 问题。那么,firstsecond 调用是否同步:

function test() {
    first();
    second();
}

?

【问题讨论】:

  • 调用是同步的,但函数可以是异步的,例如如果first() 是异步的,则second() 可以先完成。如果first() 是同步的,那么second() 会在first() 完成后执行

标签: javascript synchronous


【解决方案1】:

只要函数 first()second() 在其范围内不是异步的,它们就会重新同步。

但无论如何first()会在second()之前被调用。

您可以通过使用console.log() 将某些内容记录到控制台来轻松找到它。

function first() {
  console.log('1st ');
}

function second() {
  console.log('2nd ');
}

function test() {
  first();
  second();
}
// -> 1st 2nd

【讨论】:

    【解决方案2】:

    当然不是...尝试在它们内部进行控制台登录,它们之间的警报,您应该会看到它们是同步的。

    只有当第一个也是异步的时,它们才能变得类似异步(但这意味着它在开始第二个之前结束)。

    按照我的问题之后(或同步:D)提供的示例,我认为这样更好:

    function first() {
      console.log('1st ');
    }
    
    function second() {
      console.log('2nd ');
    }
    
    function test() {
      first();
      alert("you see just the first one");
      second();
    }
    

    【讨论】:

      猜你喜欢
      • 2015-03-20
      • 2019-06-04
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2016-03-09
      • 2017-02-10
      相关资源
      最近更新 更多