我有一个NextJS应用程序,其中一个后端API路由返回包含buffer的JSON对象。
// nodeConfiguration has a nodeId property which is a buffer
res.status(200).json(nodeConfiguration);
当我在前端收到这个响应时,我试图输出nodeId
(data.nodeId.toString()
),但显示的是[object Object]
。
我试着检查我是否真的在前端得到了一个缓冲区:
console.log(data.nodeId);
在dev控制台上,我得到了这个:
nodeId: {type: 'Buffer', data: Array(8)}
但是当我使用isBuffer()
检查时:
Buffer.isBuffer(data.nodeId) ? 'buffer' : 'not buffer';
我得到的不是缓冲。我很困惑,我不明白这里发生了什么。我做错了什么,我如何正确地传递一个缓冲区和后端?
1条答案
按热度按时间jdg4fx2g1#
根据这个文档:
Buffer
类是JavaScript的Uint8Array
类的一个子类,并使用覆盖其他用例的方法对其进行扩展。最后,我阅读了它的文档,显然我可以做这样的事情:
我必须添加
@ts-ignore
,因为在Typescript看来,nodeId
是一个缓冲区,它没有data
属性。这最终给出了缓冲区的字符串表示形式。