调用nodeJS将数据保存在文件中,但获取空的内容
我有nodeJS
文件,做一些东西,并保存结果在JSON文件。
'use strict'; var Promise = require('promise'); var jsonfile = require('jsonfile'); //npm install --save jsonfile // ... function writeFile(filename, obj) { return new Promise(function (resolve, reject) { jsonfile.writeFile(filename, obj, {spaces: 5}, function (err, obj) { if (err) { reject(err); } else { resolve(); } }); }); } writeFile("test.json",{a:"xxxx"}).then(function (results) { })
但由于某种原因,我得到空文件。
但是,如果我使用写入文件同步:
jsonfile.writeFileSync(filename, obj, {spaces: 5});
我称节点为:
$ node Common/BB_validate.js
有任何想法吗?
为什么使用jsonfile? 我的意思是,为什么不使用类似以下的东西?
var fs = require("fs"); function writeFile(filename, obj) { return new Promise(function (resolve, reject) { fs.writeFile(filename, JSON.stringify(obj, undefined, 5), function (err, obj) { if (err) { return reject(err); } resolve(); }); }); }
JSON.stringify
会将对象转换为JSON(用于存储在文件中),而不需要导入其他库。 读取文件时,您可以简单地调用JSON.parse(readData)
将其转换回对象。