Slide 11
Slide 11 text
実装: _init
フラグによる厳密な管理
ポイント
_init
フラグで 一度だけ初期化 を保証
既に初期化済みの場合は既存のインスタンスを使用
→ 同じ key
なら 同じ ref
インスタンス を共有
if (!nuxtApp._asyncData[key.value]?._init) {
initialFetchOptions.cachedData = options.getCachedData(key.value, nuxtApp, ...);
nuxtApp._asyncData[key.value] = createAsyncData(nuxtApp, key.value, _handler, options, ...);
}
const initialFetch = () => nuxtApp._asyncData[key.value].execute(initialFetchOptions);