我认为答案很简单。
我想要每当运行特定功能时都阻塞nodejs事件循环。函数本身可能会调用一些等待等待的异步操作,但是我不希望在此函数执行操作时发生任何其他事情。
谢谢!
答案 0 :(得分:4)
在node.js中阻止事件循环的方法是使代码同步:
while (true) {
// this will block the event loop
}
递归也是同步的
function rec() {
rec();
}
// This one exists with RangeError: Maximum call stack size exceeded
使用任何同步功能,例如:
fs.readFileSync()
fs.writeFileSync()
// any sync functions will do
如果您打算创建一个超时,将阻止所有内容,只需创建一个for循环到10亿,它就会停止一会儿。
您的请求似乎不自然,也许不是您需要的node.js。通常,节点中的人们正在尝试使所有内容异步化。