20211221 TIL
Promise.race
reqeustIdleCallback
ブラウザのメインスレッド(JavaScriptの実行などを担当)が空の場合、指定したコールバック関数の実行を指示できます.「Prograted Recommendation」は長い間存在していますが、コールバックでDOMを操作しない条件として使用することをお勧めします.
一見、何の役にも立たないと思いますが、特定のタスクの優先度に優先度を下げるときに使います.
この文章から見るとLINE証券は遅延LAZYロード素子のロード方式を使用している.
コードも添付されており,コアはlazy loadingを適用する素子のimport自体を遅らせることである.
この文章を書いたYota Suzuki氏によると、この文章で初期ページのLCPが14%ほど減少したという.
いつか私にも書きたいことがある.
Promise.race
があると思っていましたが、これがどこに使われているのか分かりません.すみません、忘れました.Promise.race
は、複数の非同期タスクにおいて、最初に終了した1つのソリューションのみを採用している.これにより、非同期タスクのtimeoutを指定できます.Promise.race(
fetch(API_URL),
new Promise(
resolve => setTimeout(() => resolve(new Error()), DELAY)
)
).then(log);
このように書くとfetch
のタイムアウトがDELAY
であることを指定でき、DELAY
の時間が経過して応答が得られなければ出力エラーとなる.reqeustIdleCallback
ブラウザのメインスレッド(JavaScriptの実行などを担当)が空の場合、指定したコールバック関数の実行を指示できます.「Prograted Recommendation」は長い間存在していますが、コールバックでDOMを操作しない条件として使用することをお勧めします.
window
オブジェクトに含まれるメソッド.一見、何の役にも立たないと思いますが、特定のタスクの優先度に優先度を下げるときに使います.
この文章から見るとLINE証券は遅延LAZYロード素子のロード方式を使用している.
コードも添付されており,コアはlazy loadingを適用する素子のimport自体を遅らせることである.
requestIdleCallback()
は、メインスレッドに処理中のタスクがない場合にコールバック関数を実行するため、コールバックの優先度が後回しになる.LINEは、構成部品のロード自体を次の順序に遅らせ、それよりも重要な初期ページレンダリングを前にします.この文章を書いたYota Suzuki氏によると、この文章で初期ページのLCPが14%ほど減少したという.
いつか私にも書きたいことがある.
Reference
この問題について(20211221 TIL), 我々は、より多くの情報をここで見つけました https://velog.io/@imnotmoon/20211221-TILテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol