我最近一直致力于JavaScript中的异步编程。我一直在浏览许多代码片段以及jQuery方法,如果我们将回调函数作为参数传递给另一个函数,它会异步执行。在该函数执行完成后执行回调。
我已经在Stack Exchange网络上就此主题进行了一些回答。一个人说我们不能使我们的代码异步,除非我们依赖于该功能的本机方法
见https://stackoverflow.com/a/9516967
此处https://softwareengineering.stackexchange.com/a/194591
另一个人说只是将回调传递给事件会使我们的代码异步。 https://softwareengineering.stackexchange.com/a/194581
我的问题是,通过传递回调使代码异步的原因是什么,还是应该依赖setTimeout或setInterval等本机方法来获得异步功能?
答案 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);