[英]node.js synchronous file reading operation problem?
問題陳述:
完成函數readFile以讀取文件sample.txt的內容並將內容作為純文本響應返回。
注意:確保在您閱讀文件時提及其完整路徑。 例如 - 假設您必須讀取文件xyz.txt然后寫入'./xyz.txt'或'xyz.txt',如${__dirname}/xyz.txt
我的代碼:
const fs = require('fs');
const path = require('path');
let readFile = () => {
let file = path.join(__dirname,'/xyz.txt') ;
let variableFile = fs.readFileSync(file);
return variableFile.toString();
};
module.exports = {
readFile:readFile
};
您必須將編碼參數傳遞給readFileSync,否則它將返回一個緩沖區:
const variableFile = fs.readFileSync(file, "utf8");
return variableFile;
PS:你不應該在生產中使用同步調用,有一個非常簡潔的API叫做“promisify”,允許你使用ass / await或promises with fs:
const {promisify} = require('util');
const fs = require('fs');
const readFile = promisify(fs.readFile);
const example = async () => {
const file = await readFile(/*...*/);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.