函数调用$ .each循环内,是异步还是同步?

adi*_*518 9 each jquery synchronization

和我的同事就此问题进行了辩论,因为我们不得不处理一些异步/同步问题.然而,它提出了另一个问题,我无法找到明确的答案.

假设一个简单的for-each循环($ .each),其中for-each迭代我称之为全局范围内的函数集.该函数是同步还是异步运行?假设没有Ajax,那么函数所做的是完全同步的,尽管只是执行.换句话说,我想知道函数调用本身是否在迭代中是阻塞的.

谢谢!

Dar*_*rrr 5

它是同步的.您可以判断是否在循环后设置断点,在循环内设置断点.循环中的断点将在循环之后的一个点之前被击中.

这假设在执行中将触发断点,循环的对象/数组具有项目等.


Str*_*lok 5

JavaScript 中的一切都是同步的。如果您不使用超时或回调,一切都将是“同步的”。

简单的例子应该可以证明这一点。

var data = [1,2,3];
var results = [];
$.each(data, function(d) { results.push(d); });

console.log(results); // [1,2,3]
Run Code Online (Sandbox Code Playgroud)