Error: toString failed Node.js buffer

Error: toString failed Node.js buffer

有时我对 api 的 get 请求失败并显示此错误消息,(顺便说一句,我使用请求模块来触发我的请求)

Error: toString failed
buffer.js:378
    throw new Error('toString failed');
    ^

Error: toString failed
    at Buffer.toString (buffer.js:378:11)
    at BufferList.toString (/home/vardha/www/abp/node_modules/bl/bl.js:155:33)
    at Request.<anonymous> (/home/vardha/www/abp/node_modules/request/request.js:1013:32)
    at emitOne (events.js:82:20)
    at Request.emit (events.js:169:7)
    at IncomingMessage.<anonymous> (/home/vardha/www/abp/node_modules/request/request.js:962:12)
    at emitNone (events.js:72:20)
    at IncomingMessage.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:921:12)
    at nextTickCallbackWith2Args (node.js:442:9)

这一直困扰着我,因为我不知道是什么原因造成的,也无法在 github 页面中找到任何明确的解决方案。任何帮助将不胜感激。

当您请求相对较大的文件(或)缓冲区长度超过/达到 256 MB 时,通常会发生此错误,V8 引擎会将其作为错误抛出。

NodeJS 社区仍在解决此问题阅读这篇综合性的 post,其中包含您正在寻找的所有 progress/answers。

https://github.com/nodejs/node/pull/4394

希望对您有所帮助!