我正在使用這個偉大的模塊:protobuf.js用於node.js中的協議緩衝區。protobuf.js:print int64對象作爲node.js中的字符串
我int64字段類型(谷歌協議支持),我試圖將其打印到屏幕。
線:
console.log(MessageTypeAck.decode(message));
打印以下:
{ trace:
[ { topic: 'Genesis', partition: 0, offset: [Object] },
{ topic: 'DataManager', partition: 0, offset: [Object] } ],
sourceModuleName: 'DataManager',
sourceModuleID: 10040 }
(偏移字段被打印爲[Object]
) 而行:
console.log(MessageTypeAck.decode(message).trace[1].offset.toString());
打印:
9217
(實際值)。 爲什麼第一個調用也不會調用Long對象的toString()?
爲什麼所需的輸出將是:
{ trace:
[ { topic: 'Genesis', partition: 0, offset: 9217 },
{ topic: 'DataManager', partition: 0, offset: 9217 } ],
sourceModuleName: 'DataManager',
sourceModuleID: 10040 }
我發現這個issue但據我所知,我不應該做一些特別的東西把它..
我還發現this - 我的版本(npm list protobufjs)返回[email protected]
任何想法?
我也試過.decode64但仍然無法正常工作.. – ItayB