我是node.js的新手。 我已经在研究如何在google上运行node.js线程循环(事件循环)以外的代码,但无法获得答案。在node.js线程循环外部运行代码
我如何创建一个运行在节点事件循环之外的函数。 例如,在猫鼬,它使用
scheme.save(function(err)){
console.log('saved');
});
插入数据,其中节点运行插入代码(保存功能)的外部事件循环,然后返回到事件循环运行我的回调(在上面的示例中,在做一些日志记录)。
我尝试
function getUser(id, callback) {
setTimeout(function() {
console.log('executed');
callback(null, "jhon");
}, 5000);
}
function display(err,user) {
console.log(user);
}
getUser(432, display);
console.log('this show first');
但它同步运行(它阻止的事件循环5第二新请求被处理之前)。
我该如何实现相同的'保存'功能,所以它不会在上面的代码中阻塞事件循环5秒? 任何主题阅读? 谢谢。
为什么你认为它阻止事件循环? –
请阅读更新的问题。 我尝试在2个分开的选项卡上运行上面的代码。并且在第一个'jhon'日志出现后记录第二个日志'this show first'。是iam做错了吗? – gitong0315
它打印出类似这样: “这个节目第一” “JHON” “本次车展第一” “JHON” 代替 '本次车展第一 本次车展第一 约翰 john' – gitong0315