Optimization techniques for faster search and browse experiences.
// ❌ Slow - sequential const search = await sdk.search().execute({ query: 'ring' }) const collection = await sdk.collection({ handle: 'featured' }).execute() // ✅ Fast - parallel const [search, collection] = await Promise.all([ sdk.search().execute({ query: 'ring' }), sdk.collection({ handle: 'featured' }).execute() ])
const search = sdk.search() const autocomplete = sdk.autocomplete() const [prepareResult, autocompleteResult] = await Promise.all([ search.prepare({ query: 'ring' }), autocomplete.execute('ring') ])
const collection = sdk.collection({ handle: 'shirts' }) // Load current page const page1 = await collection.execute({ page: 1 }) // Prefetch next page in background collection.execute({ page: 2 })
await collection.execute({ params: { attributes: ['id', 'title', 'handle', 'images', 'price_range', 'available'] } })
// Faster response (more API calls) const autocomplete = sdk.autocomplete({ debounceMs: 150 }) // Slower response (fewer API calls) const autocomplete = sdk.autocomplete({ debounceMs: 500 })
Promise.all([ sdk.search().prepare({ query: 'ring' }), sdk.collection({ handle: 'featured' }).execute() ])
Was this page helpful?
Contact support