首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用`jest.useFakeTimers()`时,为什么`setImmediate`不会无限期超时?

使用jest.useFakeTimers()时,setImmediate不会无限期超时的原因是因为jest.useFakeTimers()会替换掉原生的定时器函数,包括setTimeoutsetIntervalsetImmediate。在使用jest.useFakeTimers()后,所有的定时器函数都会被模拟实现,而不是真正的等待一段时间后执行。

在模拟的定时器中,setImmediate会被立即执行,而不需要等待真正的时间间隔。这是因为setImmediate是一个异步函数,它会在当前事件循环的末尾被调用,而不会像setTimeout一样需要等待一段时间。

当使用jest.useFakeTimers()时,所有的定时器都会被立即执行,包括setImmediate。因此,setImmediate不会无限期超时,而是会立即执行。

需要注意的是,jest.useFakeTimers()只是在测试环境中模拟定时器行为,以便更好地控制测试的执行顺序和时间。在实际的生产环境中,定时器函数的行为仍然是按照原生的方式执行的。

相关搜索:使用Indy时连接不会超时超时-使用jest.useFakeTimers(‘现代’)和jest.setSystemTime()时未调用异步回调当使用usingServer时,Selenium webdriver超时不会设置为什么此when客户端post代码在没有网络连接时不会超时?为什么TypeScript在使用as类型时不会发出错误?在Java 7中使用方法重载时,为什么autoboxing不会覆盖varargs?为什么我的v-if在Vue中使用情态动词时不会触发?为什么在此react代码中释放外部div时,mouseup事件不会触发(使用window.addEventListener)为什么使用useRef钩子定义的计数器在每次渲染时都不会递增?为什么我的文本视图在设置文本时不会创建换行符,即使使用\n也是如此?当Pcap文件太大时,在c#中通过cmd使用TShark不会终止。为什么会这样呢?在Eclipse中使用Mylyn时,为什么任务上下文元素不会显示在导航器视图中?为什么我的注释标注不会出现?仅当使用自定义图像作为图钉时,标注才有效在片段中使用图像时,图像会显示在某些页面上,但不会显示在其他页面上。为什么?在我的Todo ReactApp中,我使用了flux。使用useEffect时,我添加了一个侦听器,但是当Todostore更新时,页面不会重新呈现。为什么不行?为什么在使用Knex.js/Objection时,我的所有数据都默认为空?我根本不会通过useNullAsDefault为什么在使用angular中的route.navigate进行路由时,父组件中注入的服务不会传递给子组件为什么在使用List迭代器的next方法时会出现不兼容的类型错误,而在使用List的get方法时却不会呢?当我在计时器中使用xlApp.CutCopyMode时,我的应用程序不会关闭。这一切为什么要发生?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券