JavaScript, Node.js: is Array.forEach asynchronous?

后端 未结 10 1586
时光说笑
时光说笑 2020-11-22 10:47

I have a question regarding the native Array.forEach implementation of JavaScript: Does it behave asynchronously? For example, if I call:

[many          


        
10条回答
  •  無奈伤痛
    2020-11-22 11:53

    Here is a small example you can run to test it:

    [1,2,3,4,5,6,7,8,9].forEach(function(n){
        var sum = 0;
        console.log('Start for:' + n);
        for (var i = 0; i < ( 10 - n) * 100000000; i++)
            sum++;
    
        console.log('Ended for:' + n, sum);
    });
    

    It will produce something like this(if it takes too less/much time, increase/decrease the number of iterations):

    (index):48 Start for:1
    (index):52 Ended for:1 900000000
    (index):48 Start for:2
    (index):52 Ended for:2 800000000
    (index):48 Start for:3
    (index):52 Ended for:3 700000000
    (index):48 Start for:4
    (index):52 Ended for:4 600000000
    (index):48 Start for:5
    (index):52 Ended for:5 500000000
    (index):48 Start for:6
    (index):52 Ended for:6 400000000
    (index):48 Start for:7
    (index):52 Ended for:7 300000000
    (index):48 Start for:8
    (index):52 Ended for:8 200000000
    (index):48 Start for:9
    (index):52 Ended for:9 100000000
    (index):45 [Violation] 'load' handler took 7285ms
    

提交回复
热议问题