Как исправить проблему, ответ говорит TypeError: toClient не является функцией - PullRequest
0 голосов
/ 09 июля 2019

Я хочу отправить ответ клиенту после выполнения запроса, поэтому я написал обратный вызов toClient () и затем qureyEx (toClient), но он возвращает мне ошибку типа.

router.get('/', function (req,res) {

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

    function toClient() {
        res.send(output);
    }
    function qureyEx(toClient) {
        output = QueryExe.execute(packet);

        toClient();
    }
    qureyEx();

})


    <h1>toClient is not a function</h1>
    <pre>TypeError: toClient is not a function

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Параметр toClient в функции qureyEx глотает объявление функции toClient(). Попробуйте переименовать либо функцию, либо параметр.

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

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

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

    toClient();
}
qureyEx();
0 голосов
/ 09 июля 2019

В вашем обратном вызове есть небольшая ошибка.

Вы должны указать toClient при звонке qureyEx();

Это должно привести к чему-то вроде этого:

qureyEx(toClient);

Почему я это делаю, потому что так работают обратные вызовы. Просто переименование функций во что-то еще является признаком плохой практики;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...