fs.writeFile

时间:2018-09-06 16:05:23

标签: node.js firebase google-cloud-functions fs

我有一个奇怪的错误。我正在使用Firebase的云功能进行某些数据处理。在该功能内,我需要(a)将CSV写入磁盘上的tmp /文件夹,(b)将此文件上传到Google云存储。

我正在使用fs.writeFile写入磁盘。这可以正常工作-数据已正确写入tmp文件夹。但是,如果没有立即解决,整个功能就会崩溃。因此,如果功能上有下一步(例如,等待上载完成与Google云存储的连接),则该功能会崩溃。

我已经能够使用以下简单版本复制该错误:

async.waterfall([
   function (callback) {
       fs.writeFile("tmp/testfile.txt", "hello world", function(err) {
           callback(null);
       });
   },
   function (callback) {
       setTimeout(function(){
           callback(null)
       }, 10000);
   }
], function(err){console.log("done!"})

任何关于可能出问题的想法将不胜感激!

1 个答案:

答案 0 :(得分:2)

对于后代,问题在于我将tmp文件夹设置为简单的“ tmp”。原来,您需要使用os.tmpdir()查找temp文件夹。一旦这样做,它就可以正常工作。