javascript - 如何从 fs.readFile node.js 返回值
问题描述
我在 node.js 中的函数有问题
function function_1() {
var fs = require('fs');
fs.readFile('date.json', function(err, content) {
if (err) throw err;
var parseJson = JSON.parse(content);
fs.writeFile('date.json', JSON.stringify(parseJson), function(err) {
if (err) throw err;
})
})
return parseJson;
}
我不知道如何从我的阅读功能中返回文件中的值。我尝试了很多事情,但我失败了。我只是从 node.js 开始。我会感谢每一个建议。
解决方案
首先,您可能希望将您的要求作为常量添加到文件的开头,这不是强制性的,但这是一个很好的最佳实践:
const fs = require('fs');
接下来对于您的问题,只需在外部范围内声明一个变量并用文件内容填充它:
const fs = require('fs');
function function_1() {
var parseJson
fs.readFile('date.json',function(err,content){
if(err) throw err;
parseJson = JSON.parse(content);
})
return parseJson;
}
或者正如@Pointy 提到的,您可以只使用readFileSync
不需要回调的:
const fs = require('fs');
function function_1() {
return JSON.parse(fs.readFileSync('date.json'));
}
推荐阅读
- python - 通过java执行python代码将日志保存到文件
- java - DB2 中使用 INTERSECT 的交集
- node.js - EXPRESS : 如何防止 Fetch() 用缓存的响应进行响应
- linux - 用 awk 剪切我的 FILENAME 变量的输出?
- ios - 如何修复错误:“应用标识符“com.example.apple-samplecode.BreakfastFinder”无法注册到您的开发团队。
- regex - RegEx Pattern - 如何从一行中提取 N 元素?
- haskell - Haskell String to List String 按空格分割
- docker - 使用持久注册表文件在 Kubernetes 中运行 Filebeat?
- sql - 在 Oracle Sql 中查找具有公分母的重复值
- tensorflow - tf.train.GradientDescentOptimizer() 的 tf.complex64 类型无效