Node.js
Paginação
Todo método list() devolve um auto-paginador (AutoPager): você pode aguardar só a primeira página ou iterar todos os itens de todas as páginas sem gerenciar offset na mão.
Todo método list() devolve um auto-paginador (AutoPager): você pode aguardar só a primeira página ou iterar todos os itens de todas as páginas sem gerenciar offset na mão.
Iterar todos os itens
for await percorre item a item, buscando as próximas páginas automaticamente:
for await (const tx of sw.transactions.list({ limit: 100 })) {
console.log(tx.id, tx.status);
}Só a primeira página
await no resultado devolve a primeira página como objeto — útil para telas com "carregar mais":
const page = await sw.transactions.list({ limit: 20 });
// { data, hasMore, offset, limit, total }
console.log(page.data.length, page.hasMore);O limit padrão é 20 quando não informado.
Iterar páginas ou coletar em array
// página a página (ex.: processar em lotes)
for await (const page of sw.customers.list({ limit: 100 }).pages()) {
await processBatch(page.data);
}
// coletar itens num array, com teto de segurança
const primeiros500 = await sw.customers.list().toArray(500);Endpoints sem auto-pager
Para listagens aninhadas que não expõem um list() de topo, use o gerador paginate sobre o método .raw:
import { paginate } from '@selectwin/sdk';
for await (const item of paginate(
(p) => sw.subscriptions.raw.listSubscriptionItems({ subscriptionId: 'subs_…', ...p }),
{ limit: 100 },
)) {
console.log(item.id);
}Próximos passos
- Paginação (referência) — o modelo
offset/limit/hasMoreda API. - Tratamento de erros · Webhooks.
How is this guide?