[英]Value becomes undefined when passing between 2 arrays
我正在使用 nodejs 作為我的 React 應用程序的服務器端,我想發送目錄中具有 Root_Path 值的文件名稱數組。 我使用 readdir () 取名字並將它們放入 List_Of_File 。
fs.readdir(Root_Path, 'utf8', (err, files) => {
if (err) throw err;
else
files.forEach(element => {
List_Of_File.push(element.split(".")[0]);
});
});
List_Of_File.forEach(element => {
List_Of_Note.push(element);
});
fs.readdir(Root_Path, 'utf8', (err, files) => {
if (err) throw err;
else
files.forEach(element => {
List_Of_File.push(element.split(".")[0]);
});
});
List_Of_File.forEach(element => {
List_Of_Note.push(element);
});
router.get("/", function(req, res, next) {
res.send(List_Of_File);
我得到的結果是["3","4","5"]
但是當我嘗試將所有值傳遞給List_Of_Note
,這些值是未定義的,當我發送List_Of_Note
時我得到的結果是 [] 。
我檢查List_Of_File
中的值類型,它是一個字符串。 你能幫我解決這個問題嗎?
fs.readdir(Root_Path, 'utf8', (err, files) => {
if (err) throw err;
else
files.forEach(element => {
List_Of_File.push(element.split(".")[0]);
});
});
List_Of_File.forEach(element => {
List_Of_Note.push(element);
});
這兩套線不是同步的。 您將不得不等到為readdir
方法調用回調。 由於您沒有等待,因此您總是得到空數組。 您可以在回調中移動推送邏輯或將其轉換為基於 Promise/async/await 的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.