settimeout 和 cleartimeout
var obj = setTimeout(cb, ms);
setTimeout 用于设置一个回调函数 cb,其在最少 ms 毫秒后被执行(并非在 ms 毫秒后马上执行)。setTimeout 返回值可以作为 clearTimeout 的参数,clearTimeout 用于停止定时器,这样回调函数就不会被执行了。
setInterval 和 clearInterval
var obj = setInterval(cb, ms);
setInterval 和 setTimeout 类似,不过 setInterval 会在每 ms 毫秒后(并非精确的 ms 毫秒后)执行一次 cb。setInterval 返回值可以作为 clearInterval 的参数,clearInterval 用于停止定时器,这样回调函数就不会被执行了。
setImmediate 和 clearImmediate
内容:生产级 Node.js 后端模式,涵盖 Express/Fastify 配置、分层架构、中间件、错误处理、验证、数据库集成、身份验证及缓存。 时机:构建 REST API、搭建 Node.js 服务器、实施身份验证、集成数据库、添加验证/缓存或构建后端应用结构时。 关键词:nodejs, node, express, fastify, typescript, api, rest, 中间件, 身份验证, jwt, 验证, zod, postgres, mongodb, redis, 缓存, 速率限
var obj = setImmediate(cb);
setImmediate 用于延迟调用 cb 函数。cb 将在 I/O 事件回调之后,setTimeout 和 setInterval 回调之前调用。setImmediate 的返回值可以作为 clearImmediate 的参数,clearImmediate 用于停止触发回调函数。
process.nextTick
process.nextTick(cb);
类似 setImmediate 函数,用于延迟调用 cb 函数。cb 将在 I/O 事件回调之前调用(区别于 setImmediate)。process.nextTick 相比 setTimeout(cb, 0) 要高效的多。process.nextTick 在每次循环时会执行最多 process.maxTickDepth 个回调函数,而 setImmediate 在每次循环中仅仅执行一个回调函数。

















