Основной вызов функции в node.js - PullRequest
0 голосов
/ 01 июня 2019

Если я пишу следующий код, я получаю «Hello World», но не «Hey from function». Что я делаю неправильно? То же самое, если я пытаюсь писать в консоль из вызываемой функции Кажется, это не называется.

Это очень простое тестирование node.js

const http = require('http');
const express = require('express');

const app = express();

const port = 3000;

function writetest(req, res) {
    res.send("Hey from function");
}


app.get('/nodejs/', function(req, res) { 
    res.send('Hello World!');
    writetest(req,res);
});

app.listen(port, () => console.log(`Example app listening on port ${port}!`));

Нет сообщений об ошибках, просто кажется, что он не вызывает функцию.

Ответы [ 3 ]

3 голосов
/ 01 июня 2019

Используйте res.write() и вам нужно будет позвонить res.end() в конце.

Поскольку res.send() вызывает res.end() внутри, и вы больше не можете писать res

2 голосов
/ 01 июня 2019

res.send может быть вызван только один раз, после отправки данных браузер пользователей не ждет больше ответов.То, что вы пытаетесь достичь, можно сделать с помощью res.write и res.end, подробно здесь .Пример того, как его использовать, показан здесь .

0 голосов
/ 01 июня 2019

Вы не можете выполнить res.send дважды за один вызов API. Вы можете использовать цикл if else для выполнения такой операции, но в то же время два res.send не могут выполняться.

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