首页 文章

NodeJs fs.close()TypeError:fd必须是文件描述符

提问于
浏览
0

我使用nodejs写一个文件 .

fs.open(path.join(reportPath), 'a', 666, ( e, fd ) => {
   fs.write( fd, `There is a company named ${companyName}` + os.EOL, null, 'utf8', () => {
      fs.close( (err) => {
        if(err) throw err;
        console.log('write successfull')
     })
   })
 })

它返回一个错误,实际上是文件写入但错误使我的服务器停止 . 因为 throw err

这里的错误信息:

TypeError: fd must be a file descriptor
    at Object.fs.close (fs.js:608:11)
    at C:\DATA\source\code\build\modules\desc\controller.js:199:42
    at FSReqWrap.wrapper [as oncomplete] (fs.js:685:5)

1 回答

  • 2

    我忘了在fs.close()上传递文件描述符

    fs.open(path.join(reportPath), 'a', 666, ( e, fd ) => {
       fs.write( fd, `There is a company named ${companyName}` + os.EOL, null, 'utf8', () => {
          fs.close(fd, (err) => {
            if(err) throw err;
            console.log('write successfull')
         })
       })
     })
    

相关问题