节点 - 在承诺之后将JSON结果写入文件

时间:2017-07-22 00:48:42

标签: javascript json node.js request-promise

我正在使用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.json', JSON.stringify(employees), function(err) {
                if (err) reject(err);
            });
        });
    })
    .catch(function (err) {
        // API call failed...
    });

我也试过了this,但这也没有成功。

1 个答案:

答案 0 :(得分:1)

最佳便捷的文件写入方式:

.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)
});