2017-01-15 4 views
1

bluebird 2.xを使用しています。TypeError:未定義(Bluebirdライブラリ)の '_bitField'プロパティを設定できません

私は約束の中に包まれたカフカを呼び出しています。メッセージが公開されると約束は解決されます。カフカへの呼び出しが失敗すると、promisは却下されます。ここで

は、エラーの原因となっているコードの一部である -

redis.get(something) 
.then(function() { 
      return Promise(function(resolve, reject) { // This is Line 98 in the stacktrace 
       producer.send([ 
        { 
         topic : "Ganga", 
         messages : [JSON.stringify({// some object})] 
        } 
       ], function(err, data) { 
        if(err) { 
         logger.error("Error") 
         logger.error(err); 
         reject(err); 
         return; 
        } 
        resolve(data); 
       }) 
      }); 
     }) 

TypeError: Cannot set property '_bitField' of undefined 
    at <project base path>/index.js:98:20 
    at bound (domain.js:280:14) 
    at runBound (domain.js:293:12) 
    at runCallback (timers.js:649:20) 
    at tryOnImmediate (timers.js:622:5) 
    at processImmediate [as _immediateCallback] (timers.js:594:5) 
From previous event: 
    at Server.<anonymous> (<project base path>/index.js:97:10) 
    at next (<project base path>/node_modules/restify/lib/server.js:912:30) 
    at f (<project base path>/node_modules/once/once.js:25:25) 
    at Server.parseBody (<project base path>/node_modules/restify/lib/plugins/body_parser.js:94:13) 
    at next (<project base path>/node_modules/restify/lib/server.js:912:30) 
    at f (<project base path>/node_modules/once/once.js:25:25) 
    at IncomingMessage.done (<project base path>/node_modules/restify/lib/plugins/body_reader.js:121:13) 
    at IncomingMessage.g (events.js:292:16) 
    at emitNone (events.js:86:13) 
    at IncomingMessage.emit (events.js:185:7) 
    at endReadableNT (_stream_readable.js:974:12) 
    at _combinedTickCallback (internal/process/next_tick.js:74:11) 
    at process._tickDomainCallback (internal/process/next_tick.js:122:9) 

間違っている可能性が何上の任意の提案を次のようにスタックトレースがありますか?

+0

'producer.send'とは何ですか?また、ブルーバードのレポで問題を開けてください –

+1

'Promise'の前に' new'がありませんが、それはあなたが得ると期待しているエラーではありません。 –

+0

Promiseの前に新しいものを使用してください。私は先週同じエラーに直面した。 –

答えて

2

エラープロミスの前に新しいものを使用していないため、ライン98に間違いなく投げられました。

関連する問題