eventloop.ts 570 B

1234567891011121314151617181920
  1. import { Log } from "./log"
  2. export namespace EventLoop {
  3. export async function wait() {
  4. return new Promise<void>((resolve) => {
  5. const check = () => {
  6. const active = [...(process as any)._getActiveHandles(), ...(process as any)._getActiveRequests()]
  7. Log.Default.info("eventloop", {
  8. active,
  9. })
  10. if ((process as any)._getActiveHandles().length === 0 && (process as any)._getActiveRequests().length === 0) {
  11. resolve()
  12. } else {
  13. setImmediate(check)
  14. }
  15. }
  16. check()
  17. })
  18. }
  19. }