#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. Остальные ваши проблемы звучат так, как будто они были вызваны опечатками. Вырежьте и вставьте ваш фактический код и фактическую ошибку.