如何解决将已解决的承诺返回到另一个文件
我想要做的是从带有 readline
的路径读取文件并将转换后的内容返回到另一个文件,我无法用其他类似的主题解决这个问题。如果我在 console.log
语句之前的模块中logObject
return
我得到了我想要的东西 - 可读对象,但在另一个文件中我得到 Promise { <pending> }
。这是我正在创建的模块:
const readline = require('readline');
const fs = require('fs');
// Parse temperature log file into JSON object
const parseTemperature = async filePath => {
let logObject = new Object;
const file = fs.createReadStream(filePath);
const rl = readline.createInterface({
input: file,})
let iterator = 0;
for await(const line of rl) {
// get date of measurement
let date = line.substring(0,line.indexOf(','));
// get temperature in celcius
let temperature = line.substring(line.indexOf('=')+1,line.length-2);
logObject[iterator] = [date,temperature];
iterator++;
}
console.log(logObject);
return logObject;
}
module.exports = parseTemperature;
这是我尝试将其导入另一个文件的方法(最后 2 行):
const { parse } = require('path');
const path = require('path');
const parseTemperature = require('./src/helpers/parseTemperature');
const os = process.platform;
const scriptsPath = path.join(__dirname,'scripts');
const logsPath = path.join(__dirname,'logs');
const temperatureLogsPath = path.join(logsPath,'temperature.log');
const temperatureValues = parseTemperature(temperatureLogsPath);
console.log(temperatureValues)
我应该更改什么才能在导入模块的文件中获得可读的输出?或者有没有另一种不使用 async await 的方式来读取文件?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。