如何从请求中返回结果,以及在 NodeJS 中执行异步任务但没有回调之后
Posted
技术标签:
【中文标题】如何从请求中返回结果,以及在 NodeJS 中执行异步任务但没有回调之后【英文标题】:How return result from request, and after perform async task but without callback in NodeJS 【发布时间】:2014-01-14 12:46:02 【问题描述】:ios 应用程序执行向用户发送消息的请求。我想将结果返回给应用程序,然后向用户发送推送通知,我不想等到通知推送成功与否。
app.post("/message", function(req, res, next)
User.sendMessages(query, options, function(err, results)
res.json(results);
sendPushNotifications();
);
);
我该怎么做?
【问题讨论】:
你目前在做什么有什么问题? 在 res.json(results) 之后;应用程序获得响应和其他操作将执行?让我们想象一下 sendPushNotifications() 在很长一段时间内执行。应用程序在此操作完成之前得到响应? 是的。这就是它的工作原理。请记住,节点中发生的所有事情都在一个线程中,这与您可能习惯的其他后端语言不同。所以请求,工作,一切都发生在那个单一的线程中。除非你当然使用集群或类似的东西 谢谢,你是对的! 【参考方案1】:这就是它的工作原理。
请记住,节点中发生的所有事情都在一个线程中,这与您可能习惯的其他后端语言不同。
请求、工作,一切都发生在那个单一的线程中。当然,除非你使用集群或类似的东西。
【讨论】:
以上是关于如何从请求中返回结果,以及在 NodeJS 中执行异步任务但没有回调之后的主要内容,如果未能解决你的问题,请参考以下文章