gpt4 book ai didi

javascript - node.js 让代码等到 fs.readFile 完成

转载 作者:数据小太阳 更新时间:2023-10-29 05:51:56 28 4
gpt4 key购买 nike

<分区>

我在 node.js 文件系统中遇到问题。这是我的代码。我的函数总是返回一个空字符串。我想知道有没有办法让我的函数停止执行,直到 readFile 方法完成。

var fs = require('fs');
function myfun(filePath){
var str = '';
fs.readFile(filePath, function(err, data){
if(err) throw err;
str = data;
});
return str; //here, the variable str always return '' because the function doesn't wait for the readFile method complete.
}

添加说明

实际上我正在做这样的事情:函数 myfun 用于替换 str你可以看到我的代码:

function fillContent(content) {
var rex = /\<include.*?filename\s*=\s*"(.+?)"\/>/g;
var replaced = fileStr.replace(rex, function (match, p1) {
var filePath = p1
var fileContent = '';
fs.readFile(filePath, function (err, data) {
if (err) {
throw err;
}
fileContent = data;
});
return fileContent;
});
return replaced;// here, the return value is used for replacement
}

替换函数需要返回值,所以没有使用回调函数

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com