我试图返回一个值,该值应该是一个数组(从按钮标签内部读取文本),但是我的return语句未定义,我相信是因为我的return语句在for循环完成之前执行并且该值是分配。
我一直在寻找异步,等待,诺言之类的东西,但是我似乎无法将其与我想要实现的目标联系在一起。
我认为这与标记的重复项不同,因为我没有使用Ajax。
function getComponentsButtons(component){
let currentButton = []
let buttonArray = []
let path = `../src/components/${component}/index.js`;
/* Reading each index.js */
fs.readFile(path, "utf8", function(err, data) {
/* Walking along and seeing if there is a <button tag */
for(let j = 0; j < data.length; j++){
if(data.slice(j, j + 7) === '<button'){
/* if there is a <button tag, walk til you see the closing tag >, get the value until you reach the < tag */
while(data[j] !== '>'){
j++;
}
while(data[j] !== '<'){
j++;
currentButton.push(data[j]);
}
currentButton.pop();
currentButton = currentButton.join("");
buttonArray.push(currentButton);
currentButton = []
}
}
}); // end of read file
return buttonArray;
}
我希望能够返回已填充的buttonArray。