Javascript 节点-在承诺后将JSON结果写入文件
我使用请求承诺从api获取数据。我需要将结果写入json文件。下面的代码不向文件写入任何内容Javascript 节点-在承诺后将JSON结果写入文件,javascript,json,node.js,request-promise,Javascript,Json,Node.js,Request Promise,我使用请求承诺从api获取数据。我需要将结果写入json文件。下面的代码不向文件写入任何内容 var rp = require('request-promise'); rp(empOptions) .then(function (repos) { employees= repos; return new Promise(function(resolve, reject) { fs.writeFile('../employees.js
var rp = require('request-promise');
rp(empOptions)
.then(function (repos) {
employees= repos;
return new Promise(function(resolve, reject) {
fs.writeFile('../employees.json', JSON.stringify(employees), function(err) {
if (err) reject(err);
});
});
})
.catch(function (err) {
// API call failed...
});
我也尝试过,但也没有成功。在文件上书写的最佳简便方法:
.then(function(results) {
return new Promise(function(resolve, reject) {
fs.appendFileSync('myurlss2.json', results, function(err) {
if (err) reject(err)
else resolve(results)
})
})
})
.then(function(results) {
console.log("results here: " + results)
})
.catch(function(err) {
console.log("error here: " + err)
});
您是否检查了回购协议是否在您的
方法中包含数据?然后检查了方法?是的,它包含数据。请尝试删除退货新承诺。无论如何,您不会使用Promise的resolve方法返回数据。在这种情况下,fs.writeFile应该可以自己工作。已经尝试过了,但也不起作用。您是否尝试过类似于var stringifiedJSON=JSON.stringify(employees)的方法
然后将stringifiedJSON
变量传递到fs.writeFile()
方法?完整代码:.then(函数(结果){return new Promise(函数(解析,拒绝){fs.appendFileSync('myurlss2.json',results,函数(err){if(err)reject(err);else{resolve(结果)然后(函数(results){console.log(“results here:+results”)}).catch(函数(err){console.log(“error here:+err”);});与其在注释中添加代码,不如编辑答案,