Node.js 如何从请求返回结果,并在执行异步任务后返回,但在NodeJS中没有回调

Node.js 如何从请求返回结果,并在执行异步任务后返回,但在NodeJS中没有回调,node.js,asynchronous,express,mongoose,Node.js,Asynchronous,Express,Mongoose,iOS应用程序执行向用户发送消息的请求。我想将结果返回给应用程序,然后向用户发送推送通知,我不想等到通知推送成功与否 app.post("/message", function(req, res, next) { User.sendMessages(query, options, function(err, results) { res.json(results); sendPushNotifications(); }); }); 我该怎么做呢?

iOS应用程序执行向用户发送消息的请求。我想将结果返回给应用程序,然后向用户发送推送通知,我不想等到通知推送成功与否

app.post("/message", function(req, res, next) {
    User.sendMessages(query, options, function(err, results) {
        res.json(results);
        sendPushNotifications();
    });
});
我该怎么做呢?

这就是它的工作原理

请记住,节点中发生的一切都是在单个线程中进行的,这与您可能使用的其他后端语言不同


请求、作业、所有事情都发生在这个线程中。当然,除非您使用集群或类似的东西。

您当前所做的有什么问题吗?在res.json(results)之后;应用程序获得响应,其他操作将执行吗?让我们假设sendPushNotifications()在很多时间内都在运行。此操作完成前应用程序是否得到响应?是。这就是它的工作原理。请记住,节点中发生的一切都是在单个线程中进行的,这与您可能使用的其他后端语言不同。所以请求,作业,所有事情都发生在这个线程中。当然,除非您使用集群或类似于Thanx的东西,否则您是对的!