イベントループのためにノードdocsを経由していましたが、私は非常に混乱しました。 それは言う - そして、NodeJSイベントループのポーリングフェーズ
timers: this phase executes callbacks scheduled by setTimeout() and
setInterval().
I/O callbacks: executes almost all callbacks with the exception of close callbacks, the ones scheduled by timers, and setImmediate().
idle, prepare: only used internally.
poll: retrieve new I/O events; node will block here when appropriate.
check: setImmediate() callbacks are invoked here.
close callbacks: e.g. socket.on('close', ...).
詳細な世論調査の段階では、彼らはそれがタイマーでスケジュールタイマーを実行しても、ポーリングキュー内のイベントのO/Iを処理することを言います。私の混乱は、タイマーフェーズとそれらのコールバックのためのI/Oコールバックフェーズがあり、ポールフェーズで行われた作業は何かです。それはスレッドがポーリングフェーズでスリープ状態になるかもしれないが、私はそれを正しく取得しないとも言います。
私の質問は、タイマーのため
- なぜ投票フェーズで実行されるスクリプトをare-とI/O(s)は、我々はすでにタイマーとI/Oコールバック相を持っている場合?
- これは、ポーリングフェーズがタイマーとI/Oコールバックフェーズとタイマーに代わってコールバックを実行し、コールバックフェーズが内部処理専用であるかどうかです。このフェーズでコールバックは実行されませんか?
- このループではどこに約束できますか?以前私は約束はコールバックとだけ考えることができ、コールバックのように扱うことができると考えていましたが、thisビデオでは、約束は内部のイベントループに入りますが、詳細には話しません。
私はこの時点で非常に混乱しています。どんな助けもありがとう。
redditに関するこのディスカッションは、まだ完全に挑戦しているようです。https://www.reddit.com/r/node/comments/75m6cx/libuv_how_is_the_poll_phase_differentiated_from/?st=ja484wrx&sh=4c279c13 –