簡體   English   中英

node.js同步文件讀取操作問題?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM