Como waits, triggers e tasks assíncronas funcionam no Next.js sem perder contexto