diff --git a/src/services/client.service.ts b/src/services/client.service.ts index 17e926eb..8c027839 100644 --- a/src/services/client.service.ts +++ b/src/services/client.service.ts @@ -46,17 +46,17 @@ class ClientService extends EventTarget { private profileEventCache = new LRUCache>({ max: 10000 }) private profileEventDataloader = new DataLoader( (ids) => Promise.all(ids.map((id) => this._fetchProfileEvent(id))), - { cacheMap: this.profileEventCache, maxBatchSize: 10 } + { cacheMap: this.profileEventCache, maxBatchSize: 20 } ) private fetchProfileEventFromDefaultRelaysDataloader = new DataLoader( this.profileEventBatchLoadFn.bind(this), - { cache: false, maxBatchSize: 10 } + { cache: false, maxBatchSize: 20 } ) private relayListEventDataLoader = new DataLoader( this.relayListEventBatchLoadFn.bind(this), { cacheMap: new LRUCache>({ max: 10000 }), - maxBatchSize: 10 + maxBatchSize: 20 } ) private relayInfoDataLoader = new DataLoader(async (urls) => { @@ -531,7 +531,10 @@ class ClientService extends EventTarget { async initUserIndexFromFollowings(pubkey: string) { const followings = await this.fetchFollowings(pubkey) - await this.profileEventDataloader.loadMany(followings) + for (let i = 0; i * 20 < followings.length; i++) { + await this.profileEventDataloader.loadMany(followings.slice(i * 20, (i + 1) * 20)) + await new Promise((resolve) => setTimeout(resolve, 200)) + } } private async fetchEventById(relayUrls: string[], id: string): Promise {