← Cloudflare Workers / workers / runtime-apis / nodejs
таймеры
Используйте node:timers ↗ API для планирования отложенного выполнения функций.
Сюда входит setTimeout ↗ для вызова функции с задержкой,
setInterval ↗ для повторного вызова функции,
а также setImmediate ↗ для вызова функции на следующей итерации цикла событий.
index.js
import timers from "node:timers";
export default {
async fetch() {
console.log("first");
const { promise: promise1, resolve: resolve1 } = Promise.withResolvers();
const { promise: promise2, resolve: resolve2 } = Promise.withResolvers();
timers.setTimeout(() => {
console.log("last");
resolve1();
}, 10);
timers.setTimeout(() => {
console.log("next");
resolve2();
});
await Promise.all([promise1, promise2]);
return new Response("ok");
},
};index.ts
import timers from "node:timers";
export default {
async fetch(): Promise<Response> {
console.log("first");
const { promise: promise1, resolve: resolve1 } = Promise.withResolvers<void>();
const { promise: promise2, resolve: resolve2 } = Promise.withResolvers<void>();
timers.setTimeout(() => {
console.log("last");
resolve1();
}, 10);
timers.setTimeout(() => {
console.log("next");
resolve2();
});
await Promise.all([promise1, promise2]);
return new Response("ok");
}
} satisfies ExportedHandler<Env>;Полный node:timers API описан в документация Node.js для node:timers ↗.