2015-05-15 10 views
7

मैं सेटअप करने के लिए एक चहचहाना अनुप्रयोग कोशिश कर रहा हूँ और मैं वर्तमान में निम्न त्रुटि पर अटक कर रहा हूँ:events.js: 85 फेंक एर; // बिना क्रिया 'त्रुटि' घटना

$ 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 $ 

Synthax त्रुटि? मुझे समझ में नहीं आता

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

आप इस डिबग करने के लिए अपने कोड या डेटा के कुछ शामिल करने के लिए की आवश्यकता होगी। ऐसा लगता है कि आप कुछ ऑब्जेक्ट को पार्स कर रहे हैं, इसलिए पार्सल के साथ उपयोग की जाने वाली लाइब्रेरी के साथ डेटा शायद महत्वपूर्ण होगा। – ssube

+0

निश्चित रूप से। मैं जा रहा था लेकिन एसओ के लिए एक पोस्ट में यह बहुत अधिक कोड था। – sslss

+0

@sslss मैं मानता हूं, पर्याप्त सहायता चुड़ैल ऐसी छोटी जानकारी प्रदान करना बहुत मुश्किल है लेकिन आप '/ उपयोगकर्ता/उपयोगकर्ता/दस्तावेज़/ट्विटर/नोड_मोड्यूल/ट्विटर/lib/parser.js' पंक्ति 40 देख सकते हैं, यह' JSON.parse है (जेसन) 'और त्रुटि यह होनी चाहिए कि अपेक्षित जेसन प्रतिक्रिया वास्तव में वैध JSON नहीं है। लाइन 40 से पहले 'console.log' ('यह क्या है?', जेसन); 'कंसोल से देखने के लिए वास्तव में प्रतिक्रिया क्या है। यह स्थिति को थोड़ा सा साफ़ कर सकता है। – tiblu

उत्तर

2

यह twitter मॉड्यूल में एक बग है। मॉड्यूल JSON के रूप में प्रतिक्रिया को पार्स करने का प्रयास करने से पहले HTTP प्रतिक्रिया के Content-Type शीर्षलेख मान की जांच करनी चाहिए।

Here गीथब पर प्रासंगिक समस्या है।

+0

पर ट्विटर स्ट्रीमिंग एपीआई दस्तावेज देखें और यदि हेडर कहता है कि यह JSON है जिसका अर्थ यह वास्तव में नहीं है, तो अभी भी एक बग – Esailija

+1

सही होगा, लेकिन यह आम तौर पर है एक अच्छा संकेतक। कोई फर्क नहीं पड़ता कि, हमेशा 'JSON.parse() 'के आसपास एक प्रयास-पकड़ होना चाहिए। – mscdex

+0

जब तक आप वादे का उपयोग नहीं कर रहे हैं; डी – Esailija

-1

मुझे एक ही त्रुटि मिल रही थी और ऐसा इसलिए था क्योंकि mongodb उदाहरण चल रहा था। मैंने अपने ओएसएक्स में मोंगोडब शुरू किया;

sudo mongod 
+0

इसका मोंगो –

+0

के साथ कुछ लेना देना नहीं है, यह मेरे लिए था, धन्यवाद। –

संबंधित मुद्दे