Cloudinaryにアップロードしている画像がキャッシュされていないことがわかった
これによりLCPが低い原因になっている
そこで、リクエストを事前にしてキャッシュさせるキャッシュウォームアップを行いたい
キャッシュウォーマー(クローラー)をJavaScriptで作ることを考えたときに、送りすぎて攻撃とみなされないように同時に実行するリクエスト数を制御する必要がある
そこで、p-limit
ライブラリを導入する
使い方
const pLimit = require('p-limit'); const limit = pLimit(3); const input = [ limit(() => fetchSomething('foo')), limit(() => fetchSomething('bar')), limit(() => doSomething()) ]; (async () => { // Only one promise is run at once const result = await Promise.all(input); console.log(result); })();
これでpLimit(3)
で同時実行を3つに制限しつつする実行するようにできる