gpt4 book ai didi

javascript - nodejs express 中的异步操作

转载 作者:行者123 更新时间:2023-11-29 21:54:03 27 4
gpt4 key购买 nike

我有一条路线

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 编写为异步的,并确保它不会阻塞事件循环。

关于javascript - nodejs express 中的异步操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com