在 sails 中响应 socket.io post 函数的正确方法是什么?

What is the correct way to respond to a socket.io post function in sails?

客户端:

io.socket.get('/measurements', {
    id: id,
    _csrf: csrf,
}, function (resData, jwRes) {
    console.log(resData);
});

服务器端:

fn: async function () {

    var measurements = [];

    if (!this.req.isSocket) {
        //error here
    } else {
        // get measurements, removed this section for readibility
        return this.res.status(200).json({
            measurements: measurements
        });
    }
}

这有效,它 returns 测量值,但它也 returns 出现以下错误:

Error: Cannot write to response more than once

我认为这是因为 Sails 在我的响应之后发送了 200 响应,但我不知道如何覆盖 Sails 的响应或将测量值附加到它。

事实证明帆比我想象的要聪明。通过反复试验,我发现我可以替换:

return this.res.status(200).json({
        measurements: measurements
    });

与:

return ({measurements});

帆会完成剩下的工作。