首页 > 解决方案 > 使用 Express.js 响应计算量大的请求

问题描述

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

我想到的唯一解决方案是客户的请求可以包含一个 URL 供我发布答案。在 POST 后,客户端可以获取答案并适当地使用它;但是,我怀疑这是最好的方法。处理此类案件有通用的成语吗?

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

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?
});

标签: javascriptexpressasynchronous

解决方案


推荐阅读