用回调表达回应

时间:2014-06-23 22:08:26

标签: node.js asynchronous express callback

是否可以从express发送响应,并在继续之前等待返回响应?

典型情况是这样的

服务器A向服务器B发送请求 服务器B处理请求并发送回服务器A
服务器B在继续执行之前等待服务器A的响应 服务器A进一步处理来自服务器B的响应并将其发送回服务器B
然后,服务器B处理所需的其余处理。

我的理解是通常这是通过回调来处理的。在表达中我希望做类似

的事情

res.write('response', callback);

function callback() {
    //do stuff
} 

我不认为使用res.write方法可以实现这一点。我可以使用另一种方法来使用express来获得此功能吗?我之前从未使用过socket.io,但这似乎是一个websockets非常有用的场景。这个假设我错了吗?

2 个答案:

答案 0 :(得分:0)

res.on('finish', callback);
当最后一个数据被提供给操作系统处理时发送

http://nodejs.org/api/http.html#http_event_finish

但是,如果您需要知道客户端何时接收/处理数据,则客户端必须将某些内容发送回服务器,在这种情况下,socket.io可以提供帮助。

答案 1 :(得分:0)

我感谢所有人的回复和帮助,我最终使用会话来获得我需要的东西。

var session = require('express-session');

再次感谢