如何正确处理Node.JS中的延迟操作?

我是ASYNC编程新手,请耐心等待。 我有一个Web服务API的调用,可能是不可预知的慢。 在前端,我可以用一个“加载”灯箱或东西来处理它。 但是,在后端,我有我的要求:

var req = http.request( options, function(res) { res.on('data', function(chunk) { doStuff(); } ); res.on('end', function() { doMoreStuff(); // This can take a while to get to. return someInfo(); } ); } ); req.end(); 

所有这些都在makeRequest模块中。 所以我应该将我的callback函数传递给makeRequest ,然后在'end'事件之后运行它? 看来这可能会导致一个很长的链接事件结构。

所以任何帮助如何构build这将不胜感激。

注意 :上面大多是伪代码,所以如果有语法错误,请理解它是伪代码

是的,一般情况下,您会将callback传递到您拥有的任何函数中,当发出“结束”时,您应该将您在请求中收集的数据传递给callback函数。

我意识到这是伪代码,你可能知道,我只是想说。 请记住,“数据”可以被多次调用,而最终函数中的“返回”将不会执行任何操作。

作为一个请求的例子,你可以看看我的答案在这里。 为什么我的ExpressJS不能正确执行请求命令?