2015-05-15 17 views
7

Sto cercando di installare un app twitter e sto attualmente bloccato sul seguente errore:events.js: 85 throw er; // 'errore' non gestita evento

$ node twitter.js 
events.js:85 
throw er; // Unhandled 'error' event 
    ^
SyntaxError: Unexpected token U 
    at Object.parse (native) 
    at EventEmitter.receive (/Users/user/Documents/twitter/node_modules/twitter/lib/parser.js:40:21) 
    at IncomingMessage.<anonymous> (/Users/user/Documents/twitter/node_modules/twitter/lib/twitter.js:207:14) 
    at IncomingMessage.emit (events.js:129:20) 
    at readableAddChunk (_stream_readable.js:163:16) 
    at IncomingMessage.Readable.push (_stream_readable.js:126:10) 
    at HTTPParser.parserOnBody (_http_common.js:132:22) 
    at TLSSocket.socketOnData (_http_client.js:317:20) 
    at TLSSocket.emit (events.js:107:17) 
    at readableAddChunk (_stream_readable.js:163:16) 
MBPro:twitter $ 

errore Synthax? Non capisco.

codice Twitter.js:

var tweet = require('twitter'), 
    twitter = new tweet({ 
     consumer_key: '', 
     consumer_secret: '', 
     access_token_key: '', 
     access_token_secret: '' 
    }); 

var count = 0, 
    util = require('util'); 

twitter.stream('filter', {track: 'test'}, function(stream){ 

    stream.on('data', function(data) { 
     console.log(util.inspect(data)); 
     stream.destroy(); 
     process.exit(0); 
    }); 

}); 
+0

È necessario includere parte del codice o dei dati per eseguire il debug di questo. Sembra che tu stia analizzando un oggetto, quindi i dati saranno probabilmente significativi, insieme alla libreria usata per analizzare. – ssube

+0

Sicuro. Stavo per ma era troppo codice in un post per SO. – sslss

+0

Sono d'accordo, è molto difficile fornire un aiuto adeguato a queste piccole informazioni MA puoi controllare '/ Users/user/Documents/twitter/node_modules/twitter/lib/parser.js' line 40 è' JSON.parse (json) 'e l'errore deve essere che la risposta JSON attesa non sia effettivamente JSON valida. Poco prima della riga 40 metti 'console.log ('Che cos'è questo?', Json);' per vedere dalla console quale sia effettivamente la risposta. Questo potrebbe chiarire un po 'la situazione. – tiblu

risposta

2

Si tratta di un bug nel modulo twitter. Il modulo deve verificare il valore dell'intestazione Content-Type della risposta HTTP prima di tentare di analizzare la risposta come JSON.

Here è il problema rilevante su github.

+0

E se l'intestazione dice che è JSON che non significa che lo sia effettivamente, quindi ci sarebbe ancora un bug – Esailija

+1

corretto, ma è generalmente un buon indicatore Non importa cosa, dovrebbe esserci sempre un try-catch che circonda 'JSON.parse()'. – mscdex

+0

a meno che non usi le promesse; d – Esailija

-1

Stavo ricevendo lo stesso errore ed era perché l'istanza di mongodb non era in esecuzione. Ho iniziato mongodb nel mio osx con;

sudo mongod 
+0

Non ha nulla a che fare con mongo –

+0

Era per me, grazie. –

Problemi correlati