- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
nodejs文档说
在 I/O 事件的回调之后和由 setTimeout 和 setInterval 设置的计时器被触发之前,安排“立即”执行回调。返回可能与 clearImmediate 一起使用的 immediateObject。
但是我写了一个测试代码如下:
server = http.createServer((req, res)->
res.end()
)
setImmediate(()->
console.log 'setImmediate'
)
setTimeout(()->
console.log 'setTimeout'
, 0)
process.nextTick(()->
console.log 'nextTick'
)
server.listen(8280, ()->
console.log 'i/o event'
)
为什么setTimeout
总是在setImmediate
之前输出
最佳答案
SetTimeOut
- 这种类型的函数将在设置时间后调用,在您的情况下为 0,但它遵循事件循环。并且事件循环不保证它会在 0 秒后工作。实际上它只是保证在完成设置的时间后调用函数。
但是,当 Node 事件队列空闲占用回调函数时,可以在完成时间后随时调用函数
了解事件循环的来源 - https://www.youtube.com/watch?v=8aGhZQkoFbQ
SetImmediate
- 这将在进入堆栈时调用,并且不遵循事件循环中的回调周期。
关于node.js - `setTimeout` 和 `setImmediate` 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37985065/
接下来是 TypeScript 中的 Jest 测试。我想知道为什么需要 setImmediate() 。 第一个例子是一个有效的测试。接下来是我尝试过但不起作用的各种事情。我不明白发生了什么。 pu
下面的代码有效 - 但在我将 NODEJS 从 4.. 更新到 6.9.1 后,它突然抛出一个错误(对于每个调用)...这意味着它完美地执行了所有递归调用,然后告诉我大约 20 倍的错误下面的消息..
我正在尝试在我的 NodeJS 环境中创建一个每秒执行 30 次的循环(基于固定变量)。我被告知 setInterval 和 setTimeout 不是像 process.nextTick 和 set
据我了解,process.nextTick() 和 setImmediate() 之间的区别如下: 由 process.nextTick() 调度的回调将在进入下一个事件循环之前全部执行,而由 set
Node.js 版本 0.10 今天发布,并引入了 setImmediate。 API changes文档建议在执行递归 nextTick 调用时使用它。 来自什么MDN says它看起来与proce
Salam(意思是你好:)) 在我的 node.js 应用程序中,我需要使用 setImmediate() 来隐性调用函数并保持其上下文完整以供下次执行。 考虑以下示例: var i=3; funct
Node.js 0.10 版今天发布,引入了setImmediate。 API changes文档建议在进行递归 nextTick 调用时使用它。 来自MDN says它似乎与 process.nex
我对 Node.js 文档的以下段落感到困惑。 setImmediate() vs setTimeout() ... The order in which the timers are execute
我想异步调用给定的函数。包装函数 tryCallAsync 是执行此操作的一种方法。这种方法有效。但是,它要求 setImmediate 的回调是异步函数。这似乎是错误的,因为回调正在返回一个未使用的
使用 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop 中的视觉表示: setImmediate() 和
在我的情况下,方法必须通过 setImmediate 递归和异步地调用自身。 下一个代码与原始代码没有任何关系,但出现了同样的“问题”:“this”引用似乎在第二次调用时丢失了。 function A
目前有 2 个不同的 API 旨在将任务分解为预定的回调函数。 setImmediate (非标准) requestIdleCallback (实验性的) 据我所知,目前还没有实现这两种功能的 Jav
我想知道如何将 setImmediate 与 async wait 结合使用并正确处理错误。我写了以下代码。但我不确定它是否遵循最佳实践。 我的 Express 应用程序中有一条路线 router.g
我正在学习 setImmediate() 的工作原理,但遇到了一个我找不到技术解释的怪事。 代码非常简单: setImmediate(function(){ console.log("thir
在 nodejs 的官方网站(https://nodejs.org/api/timers.html#timers_setimmediate_callback_arg)中,据说: setImmediat
我在 Node documentation 上读到了这个: setImmediate(callback, [arg], [...]) To schedule the "immediate" execu
Onsen UI 在动态渲染温泉的 js 和 css 时抛出错误。但是当我在静态 html 中使用它时它正在工作。错误: Uncaught ReferenceError :未定义 setImmedia
我正在使用 fast-csv ( https://www.npmjs.com/package/fast-csv ) 来解析 csv 文件。 它可能有 10k 条记录,因此需要花费大量时间来解析,并且该
据我了解,对于 setImmediate 的名称存在一些争议。有谁知道这个有用的功能是否会很快进入 V8/Spider Monkey,无论名称如何? 最佳答案 https://developer.mo
nodejs文档说 在 I/O 事件的回调之后和由 setTimeout 和 setInterval 设置的计时器被触发之前,安排“立即”执行回调。返回可能与 clearImmediate 一起使用的
我是一名优秀的程序员,十分优秀!