Сервер Nodejs сходит с ума, когда я добавляю операторы console.print() для отладки моего кода javascript в apt.get()

#javascript #node.js #console.log

#javascript #node.js #console.log

Вопрос:

Я пытаюсь получить информацию от IBM Watson во время выполнения app.get() на сервере NodeJS. Код для получения информации от Watson работает, и я работаю над отправкой ее обратно клиенту. Но всякий раз, когда я добавляю дополнительный console.print(words ), он выходит из себя и жалуется на совершенно другую строку, которая была в порядке до того, как я добавил новую инструкцию console.print().

 app.get("/text/emotion", (req,res) => {
    const nlu = getNLUInstance();
    //console.log( "request /text/emotion");
    var parameters = { text: "I am having a bad day today, 
        could someone help me please",features : {emotion: {}}}
    ret = nlu.analyze( parameters ) //, function( error, response){
           .then (analysisResults => {
            console.log(JSON.stringify(analysisResults, null, 2));
            console.log( "in here")
           })
           .catch(err=> {console.log( "error",err);
           });
          
  
    console.log( ret );
    return res.send({"happy":"10","sad":"50"});
});

app.get("/text/sentiment", (req,res) => {
    return res.send("text sentiment for " req.query.text);
});

let server = ***app.listen(8080, ()*** => {
    console.log('Listening', server.address().port);
});

 

Это работает, но если я добавлю еще одну инструкцию console.log(«Here») над console.log(ret), это беспокоит app.listen(8080…вызов. Ошибка указывает на точку «.» между app.listen

таким образом, код не работает

     console.log( "here"); 
    console.log( ret );
    return res.send({"happy":"10","sad":"50"});
});
 

но этот код делает

     console.log( ret );
    return res.send({"happy":"10","sad":"50"});
});
 

Вот вывод ошибки при добавлении дополнительного console.log()

 [nodemon] starting `node sentimentAnalyzerServer.js`
events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::8080
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1447:7)
    at Function.listen (/home/project/cazgi-IBM-Watson-NLU-Project-1/sentimentAnalyzeServer/node_modules/express/lib/application.js:618:24)
    at Object.<anonymous> (/home/project/cazgi-IBM-Watson-NLU-Project-
1/sentimentAnalyzeServer**/sentimentAnalyzerServer.js:64:18)**
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1340:8)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  code: 'EADDRINUSE',
  errno: 'EADDRINUSE',
  syscall: 'listen',
  address: '::',
  port: 8080
}
[nodemon] app crashed - waiting for file changes before starting...
 

Кажется, что независимо от того, поставил ли я дополнительную консоль.регистрируйте утверждения, что они ему просто не нравятся.
Или есть лучший способ отладки этого материала. Я использую терминал для выполнения всего этого.
Я очень новичок в Node.js и javascript, но это просто не кажется мне правильным.

Комментарии:

1. О чем это console.print вы говорите? Вы имели в виду console.log ? Также о чем apt.get вы говорите? Вы имели в виду app.get ?

2. Единственная ошибка, которую вы нам показали, — это EADDRINUSE , что означает, что запущен другой процесс, который уже привязан к порту 8080. Остальные ваши проблемы звучат так, как будто они были вызваны опечатками. Вырежьте и вставьте ваш фактический код и фактическую ошибку.