开发者问题收集

如何修复响应中显示 TypeError: toClient 不是函数的问题

2019-07-09
65

我想在查询执行后将响应发送到客户端,因此我编写了一个回调 toClient() ,然后编写了 queryEx(toClient) ,但它返回了一个类型错误。

router.get('/', function (req,res) {
    let packet = sp.mapper(req);
    let output = null;

    function toClient() {
        res.send(output);
    }

    function queryEx(toClient) {
        output = QueryExe.execute(packet);

        toClient();
    }

    queryEx();
})

错误:

toClient is not a function
TypeError: toClient is not a function

2个回答

函数 queryEx 上的参数 toClient 正在吞噬函数 toClient() 的声明。请尝试重命名该函数或参数。

let packet = sp.mapper(req);
let output = null;

function toClient() {
    res.send(output);
}

function queryEx(toClientParam /*I don't know the use of this param*/) {
    output = QueryExe.execute(packet);

    toClient();
}

queryEx();
Ele
2019-07-09

此处回调中有一个小错误。

调用 queryEx(); toClient

结果应类似如下:

queryEx(toClient);

我这样做的原因是因为回调就是这样工作的。将函数重命名为其他名称是一种不良做法 ;)

Trisma
2019-07-09