【发布时间】:2020-07-17 19:05:23
【问题描述】:
我有一个 javascript 应用程序正在运行。问题是当我尝试从 ByteBuffer 读取数据时,它会抛出以下错误:
2020-07-17T09:11:21.503Z error [shim:_] Unhandled Rejection reason RangeError: Illegal offset: 0 <= 4 (+168295178) <= 1276 promise Promise {
<rejected> RangeError: Illegal offset: 0 <= 4 (+168295178) <= 1276
at ByteBuffer.module.exports.ByteBufferPrototype.readUTF8String (/usr/local/src/node_modules/fabric-shim/node_modules/bytebuffer/dist/bytebuffer-node.js:2117:27)
at ByteBuffer.module.exports.ByteBufferPrototype.readIString (/usr/local/src/node_modules/fabric-shim/node_modules/bytebuffer/dist/bytebuffer-node.js:1955:24)
at Chaincode.Invoke (/usr/local/src/app.js:46:54)
at handleMessage (/usr/local/src/node_modules/fabric-shim/lib/handler.js:636:47)
at ChaincodeSupportClient.handleTransaction (/usr/local/src/node_modules/fabric-shim/lib/handler.js:361:9)
at ClientDuplexStream.<anonymous> (/usr/local/src/node_modules/fabric-shim/lib/handler.js:301:30)
at emitOne (events.js:116:13)
at ClientDuplexStream.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11) }
用于将 ByteBuffer 转换为字符串的函数如下:
transient.get('data').flip().readIString()
以下 json 字符串存储在 ByteBuffer 中:
{
"transactionId": "xxxxxx",
"collection": "xxxx",
"requirementType": "xxxx",
"requirementDisplayName": "xxxx",
"locked": false
};
我正在使用以下库
https://www.npmjs.com/package/bytebuffer
任何建议将不胜感激
【问题讨论】:
标签: javascript node.js bytebuffer