タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
はじめに 普段の開発でなかなかお目にかかることも使うことも滅多にない queueMicrotask について興味を持ったついでに、 process.nextTick や Promise, setTimeout などとの比較をしてみました。 TL;DR 下記の優先度順でキューからタスクが取り出され処理される。 nextTick queueMicrotask, Promise.resolve → Microtask setTimeout → Task (a.k.a. Macrotask) より具体的には、MicrotaskキューとTaskキューの2つのキューがあり、Microtaskキューが優先的に処理されるようになっている。 Microtaskキューが空でない限りはTaskキューの中身を実行しない構造となっており、queueMicrotask, Promise.resolve では Micr
await new Promise(resolve => setTimeout(resolve, 3000)) // 3秒待つ // ... 3秒後の処理 ... // よくある長めの実装 const sleep = () => new Promise(resolve => { setTimeout(() => { resolve() }, 3000) }) await sleep() // ステップ1: () => { resolve() } は resolve に短縮する const sleep = () => new Promise(resolve => { setTimeout(resolve, 3000) }) await sleep() // ステップ2: resolve => {} は resolve => に短縮する const sleep = () => new Prom
In a world controlled by the event loop, setTimeout is the king of execution control. It allows you to schedule function calls to be executed later. However, it can’t do one thing - suspend the execution for a certain amount of time. Think of an equivalent to sleep(ms) from different languages. Let us now explore how we can implement it. Promisifying setTimeout In order to make setTimeout behave s
こんにちは、CX事業本部 IoT事業部の若槻です。 今回は、Reactアプリケーションで、副作用フック(useEffect)を使用してsetTimeoutのタイマーをリセットしてみました。 デモ 上記のサンドボックスを開いてから10秒経過後のコンソール出力。 TimerID 15 has started. 10 seconds has passed. TimerID 15 has finished. 続けてRestartボタンをクリックして10秒経過後のコンソール出力。 Restart button was clicked. TimerID 15 was canceled. TimerID 197 has started. 10 seconds has passed. TimerID 197 has finished. コード概要 src/App.tsx import React, { u
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く