使用Express.js响应计算量大的请求

时间:2019-07-02 20:52:27

标签: javascript express asynchronous

我正在使用Express.js来启动一个计算量大的任务。我想立即通过确认响应请求,以便客户端知道服务器已开始工作。完成昂贵的任务后,我希望服务器将流程的结果告诉客户端。

我想到的唯一解决方案是客户的请求,可以包含一个供我发布答案的URL。在发布后,客户可以选择答案并适当使用它;但是,我怀疑这是最好的方法。 是否有处理此类情况的惯用语?

请考虑以下代码段。 我将如何向客户发送答案?

app.get("/getMeaningOfLife/", function(req, rsp) {
    rsp.send("Working on it now!");

    // This is expected to take a long time, but eventually returns "42"
    var meaningOfLife = computeMeaningOfLife();

    // send answer to client here    
    // HOW DO I DO THIS?
});

0 个答案:

没有答案