我在走路线
app.get('/posts', function (req, res) {
res.json([
// data
]);
// what would happen to the code below
// Suppose it is processing a million records
processMillionRecords();
});
function processMillionRecords () {
// process million records
}
发送响应后,将调用另一个函数,这是一个非常昂贵的操作。如果这种情况继续下去会怎样?有什么影响吗?
我知道理想的方法是使用后台进程。因此,我将其替换为以下内容。
res.json([
// data
]);
var child = require('child_process');
child.fork('worker.js');
// worker.js
function processMillionRecords () {
// process million records
}
哪一种更适合?在哪种情况下?
最佳答案
构建Node是为了处理长时间的异步操作。除非它占用大量CPU,否则您可能无需派生新的辅助进程。只需将您的processMillionRecords编写为异步并确保它不会阻塞事件循环。