Queue
A strongly-typed queue object.
// Import the queue object.
import Queue from "https://deno.land/x/queue/mod.ts";
// Create a new queue.
const queue = new Queue();
const delay = (ms = 0) => new Promise(resolve => setTimeout(resolve, ms));
// Run stuff…
queue.push(async () => {
await delay(1000);
console.log("1");
});
queue.push(async () => {
console.log("2")
await delay(1000);
});
queue.push(() => console.log("3"));
// You can even wait for your
// function to be executed in
// the queue.
console.log("Adding 4 to queue.");
const value = await queue.push(() => "hello world");
console.log("4 was executed:", value);
Outputs:
Adding 4 to queue.
1
2
3
4 was executed: hello world