ホームページ >ウェブフロントエンド >jsチュートリアル >JS タイマーとシングルスレッドの非同期機能
この記事では主に JS タイマーとシングルスレッドの非同期機能を紹介します。これは、必要な友達に参考にしてもらえるように共有します。 BOM メソッドとタイマーは、設定された時間内にコードを実行するか、指定された時間間隔内でコードを繰り返すために使用されます。具体的な機能:
setTimeout(callback, delay);//delay一定的时间后,执行回调函数只执行一次 setInterval(callback, delay);//每隔一段时间执行一次callback,反复执行 clearInterval(timer);//清除定时
タイマーは確かにとても使いやすいですが、使いにくいのはなぜですか?
JSはシングルスレッドであるため、スレッドがブロックされやすいことがわかっています
もちろん、JS はシングルスレッドであり、非同期にすることはできませんが、JS のホスト環境 (ブラウザー、ノードなど) は、何らかの方法 (ノードのイベント ドライバーなど) で JS をマルチスレッド化できます。特徴。
なぜ突然シングルスレッドの非同期 JS について話しているのでしょうか?タイマーイベントはJSで非同期処理されることになるのですが、これはどういうことなのでしょうか?
コード内:
var num = 1; setTimeout(function() { num++; console.log(num); }, 1000); console.log(num); //结果并是不(2,1)而是(1,2)
非同期は、JS スレッドのブロックを効果的に防ぐことができ、非常に効率的になるため、限られたリソースで JS がより多くのことを実行できるようになります
これは素晴らしいことです。 (ノードでは多くの非同期の問題にさらされることになります)
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
JS 非同期プログラミング - Promise、Generator、async/await以上がJS タイマーとシングルスレッドの非同期機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。