如何编写异步JavaScript方法?

时间:2014-02-07 05:20:17

标签: javascript asynchronous

我最近一直致力于JavaScript中的异步编程。我一直在浏览许多代码片段以及jQuery方法,如果我们将回调函数作为参数传递给另一个函数,它会异步执行。在该函数执行完成后执行回调。

我已经在Stack Exchange网络上就此主题进行了一些回答。一个人说我们不能使我们的代码异步,除非我们依赖于该功能的本机方法

https://stackoverflow.com/a/9516967

此处https://softwareengineering.stackexchange.com/a/194591

另一个人说只是将回调传递给事件会使我们的代码异步。 https://softwareengineering.stackexchange.com/a/194581

我的问题是,通过传递回调使代码异步的原因是什么,还是应该依赖setTimeout或setInterval等本机方法来获得异步功能?

1 个答案:

答案 0 :(得分:1)

异步意味着在处理I / O时JavaScript是非阻塞的。

以下是Node.js in Action的示例:

  $.post('/resource.json', function (data) { // I/O does not block execution
      console.log(data);
  });

请注意,代码是NOT,如下所示:

 var data = $.post('/resource.json');
 console.log(data);