0
これは基本的な質問のビットですが、私はJavaScriptを学ぶので、ランタイムのニュアンスの一部にはまだぼんやりしています。具体的には、イベントループがArray.prototype.map
のようなものをどのように処理するのか不思議です。正確な実装がわからなければ、コードを繰り返し実行することができますか?JavaScriptイベントループは、マップの反復間で制御を行いますか?
これは基本的な質問のビットですが、私はJavaScriptを学ぶので、ランタイムのニュアンスの一部にはまだぼんやりしています。具体的には、イベントループがArray.prototype.map
のようなものをどのように処理するのか不思議です。正確な実装がわからなければ、コードを繰り返し実行することができますか?JavaScriptイベントループは、マップの反復間で制御を行いますか?
いいえ。 map
は同期動作です。
setTimeout(function() {
console.log('run as soon as possible');
}, 0);
[1, 2, 3, 4, 5].map(function(x) {
console.log(x);
});
イベントループは基本的に次のようにブレークダウン:必要に応じて
に戻り、何のコードを実行する準備ができていない場合は、同期コードとして、それを起動し、1
@maxcountrymanマップの直後にさらに同期コードを実行すると、そのコードは関数がsetTimeoutに渡される前に実行されます –
'setTimeout'は次の同期コード行の前にコールバックを実行しないと言っていますか? – maxcountryman