在 Express.js 中发送响应后如何执行某些操作?

Alb*_*Gao 1 node.js express eventemitter

我正在开发一个网络应用程序,用户可以发布一个线程,为此需要两个步骤:一是将线程保存到线程集合,一是将线程ID保存到用户集合。

但是,保存到线程集合后,我想立即发送响应,而不等待其他保存操作完成。

是否有任何推荐的解决方案通过使用express.js或节点本身而不使用其他任务队列类型的库?

我可以触发一个事件然后发送响应吗?无论请求是否已得到满足,事件侦听器都会继续运行吗?

谢谢

小智 5

您可以在创建线程之后、更新 threadID 的用户数据之前发送响应。

下面是相同的伪代码:

var express = require('express');
var app = express();
app.post('/', function(req, res, next) {
    threadCreationRequest(function(err, data) {
        res.send(data);
        userUpdateRequest();
    });
}
Run Code Online (Sandbox Code Playgroud)