callq is a lightweight, zero-dependency async call queue library for Node.js that provides a state machine-like execution of ordered asynchronous operations with support for branch, jump, sub-procedures, loops, forks, and timeouts. Current version 1.0.7 (maintained as of 2023). It differentiates itself by offering a flexible queue structure with sync/async operators, label-based routing, and procedural control flows (if, loop, fork, join) while remaining simple and small. The library uses an error-data-queue callback convention and supports both synchronous returns and asynchronous callbacks via que.next() or que.wait().
npm install callqNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
This example shows how to create a queue with named operators, use que.jump to redirect execution flow, and define both synchronous and asynchronous operators.
Use require('callq') or wrap with createRequire in ESM.Ensure async operators return undefined and call que.next() inside the callback.
Use .pick(':label') to invoke a sub-procedure.N/A
Use const cq = require('callq'); in CommonJS, or use dynamic import() in ESM: const cq = (await import('callq')).default;Ensure you use que.jump or que.next appropriately to control the order of operations.
Only call que.next() within an operator callback and ensure the parameter name matches.
No dependency data recorded yet.