Node.js服务器被请求异步阻止

时间:2018-10-15 12:22:19

标签: node.js

我有一个Nodejs服务器,我先加载一个包含长d3.js计算的列表,然后返回客户端,然后加载另一个长列表以预知客户端将获得该列表。
我已经将执行此操作的功能设置为async,但是它阻止了服务器直到完成。

所以问题是:我如何创建一个不完全阻塞服务器的函数? (就像Java中的线程一样)

代码:

// Load nested data for id client
async function loadNestedData(body) {
    table[body.id] = {};
    table[body.id] = manager.getLongData(LongDataWithLongName);
}
app.post('/api/dynamic/', (req, res) => {
    let body = req.body;
    var nested_data = manager.getLongData(LongDataWithLongName);
    res.json(nested_data);
    loadNestedData(body);
});

app.get('/api/dynamic/id/:id?', (req, res) => {
    // If nested data have finish to load
    if (manager.getLongData(LongDataWithLongName)[req.params.id]!==undefined)
        res.json(manager.getLongData(LongDataWithLongName)[req.params.id]);
    else
        res.json("wait");
});

0 个答案:

没有答案