Javascript 节点readFile不会触发回调

Javascript 节点readFile不会触发回调,javascript,node.js,pdf,buffer,readfile,Javascript,Node.js,Pdf,Buffer,Readfile,因此,我尝试读取PDF文件,并将其缓冲区作为附件发送到电子邮件。奇怪的是,我以前从未遇到过fs.readFile的问题,回调从未触发过。我已经试着检查pdf文件,如果我能打开它,如果有任何东西是腐败的,但它似乎很好 const destination = './temp/somthing.pdf' function encodeToBase64(destination, callback) { return fs.readFile(destination, function (err, d

因此,我尝试读取PDF文件,并将其缓冲区作为附件发送到电子邮件。奇怪的是,我以前从未遇到过fs.readFile的问题,回调从未触发过。我已经试着检查pdf文件,如果我能打开它,如果有任何东西是腐败的,但它似乎很好

const destination = './temp/somthing.pdf'

function encodeToBase64(destination, callback) {
  return fs.readFile(destination, function (err, data) {
    if (err) {
      return callback(err);
    }
    return callback(null, new Buffer(data).toString('base64'));
  });
}
我使用VSCode并在所有返回上添加了断点,节点调试器能够到达第一个返回,即readFile,但一旦进入下一步,我的CPU就会像boss一样工作,VSCode节点调试器会显示消息,说明节点无响应

我完全不知道这里发生了什么事。我也尝试过多个pdf文件,但都没有用

编辑:
我不知道这是否有帮助,但我在节点v6.9.3上

可能不是您的问题,但
new Buffer()
已被弃用。尝试直接使用
data.toString()
(反正它是一个缓冲区),或者使用
buffer.from(data)
我下载了node v6.9.3,看起来效果不错。你如何调用这个函数?