我是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