我正在構建自己的專案(網站),我正在嘗試創建一個renderTemplate函式來回傳 HTML 檔案,但我不知道如何從檔案中回傳資料
這是我正在做的快速示例
var file = require("fs")
const render = () => {
file.readFile(`file.txt`, {encoding: "utf-8"}, (err, data) => {
if (err) throw err
return data
})
}
console.log(render())
我確保file.txt存在,運行代碼并進入undefined輸出
uj5u.com熱心網友回復:
因為render不回傳任何內容,并且由于您使用的是基于異步回呼的readFile.
或者您使用同步版本:
const fs = require("fs")
const render = () => fs.readFileSync(`file.txt`, {encoding: "utf-8"})
console.log( render() )
或者,如果您有多個讀數,則使用基于 promise 的異步版本會更好:
const fs = require("fs")
const render = () => fs.readFileAsync(`file.txt`, {encoding: "utf-8"})
render().then( data => console.log(data) )
uj5u.com熱心網友回復:
由于您的函式中沒有回傳,因此它回傳未定義。你可以試試 readFileSync
例子:
const render = () => file.readFileSync("file.txt" , { encoding: "utf-8" });
console.log(render())
或者
const render = () => {
return new Promise((resolve, reject) => {
file.readFile(`file.txt`, { encoding: "utf-8" }, (err, data) => {
if (err) reject(err);
resolve(data);
});
});
};
render().then(console.log)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/459146.html
標籤:javascript 节点.js
上一篇:我如何有一個可被3整除的下降回圈
