再帰的なsettimeout vs. setinterval:違いを理解する
の両方の再帰的なintervalの両方の目的指定された間隔で関数を実行することを目的としています。 setimeout
提供されたコード(オプションa)で示されているように、再帰的なSettimeoutは、1000ミリ秒の間隔でmytimeoutfunction関数の実行をスケジュールします。 MyTimeOutFunctionが実行されると、SettimeOutを使用してそれ自体を呼び出し、それによってサイクルを無期限に繰り返します。代わりに、定期的な実行を保証する組み込みメカニズムを採用しています。 SetIntervalは、以前の実行時間に関係なく、機能を実行する前に正確に1000ミリ秒待つため、再帰的なSettimeOutよりも正確になる傾向があります。 mytimeoutfunctionが実行にかなりの時間がかかる場合、この遅延はかなりの時間になる可能性があります。 SetIntervalとは異なり、再帰的なSetimeOutには、同時性の固有の概念はありません。これは、スケジューラが再度呼び出そうとしたときにMyTimeOutFunctionがまだ実行されている場合、再帰コールは失敗することを意味します。継続的な処理がある場合でも、関数が指定された間隔で呼び出されることを保証します。再帰的なSettimeOutは柔軟性を提供し、カスタム遅延を可能にしますが、それはより正確ではなく、同時実行の問題に苦しむ可能性があります。 SetIntervalは、定期的な間隔で関数を正確かつ一貫した実行するにはより信頼性が高くなりますが、実行タイミングに対する同じレベルの制御がありません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3