PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Ajax
[問題] node.js迴圈讀取檔案問題
作者:
jikker
(魯蛇王)
2016-05-17 13:49:15
hi 各位大大好
小魯想用node.js弄個for迴圈幫我讀取xlsx檔(用node-xlsx套件)
但是遇到一點小問題 就是file_path 總是拿到迴圈的最後一個數字
例如: i=100
不知道該如何修正我的程式才能正確的讀取每一個檔案?
for(var i=1; i<=100;i++){
file_path = i+'.xlsx'; // 檔名
check_file(file_path, function(back){ //確認檔案存在
console.log(file_path);
if( back.status == 1){
load_xlsx(back.path, function(data){
// 檔案存在 讀取xlsx
report[data[0]] = data[1];
count++;
if(count > 100){
console.log(report);
}
});
}
});
}
作者:
illl
(ill!)
2016-05-17 14:57:00
(function(file_path){check_file(...)})(file_path);
作者:
icydream
(巧虎)
2016-05-18 00:34:00
能否提供check_file()的程式碼?
作者:
jikker
(魯蛇王)
2016-05-18 00:38:00
大大可以說的詳細一點嗎? 或者該用什麼關鍵字去搜尋?
作者:
Kenqr
(function(){})()
2016-05-18 10:22:00
呼叫check_file時傳進去時的file_path是正確的我猜back.path也是正確的,你可以把它console.log出來看看
作者:
lucky1lk
(賭到沒錢的人)
2016-05-18 13:04:00
用WHILE? 讀取完後 再i=i+1 ?
作者:
shadowjohn
(轉角遇到愛)
2016-05-18 13:15:00
只推一樓
作者:
jikker
(魯蛇王)
2016-05-19 00:45:00
我用1F大大的方式 成功了 可是我不懂原理@@back.path是錯的 因為一開始拿到的file_path就是錯的
作者:
illl
(ill!)
2016-05-19 02:08:00
function scope, closure看ㄧ下
作者:
Kenqr
(function(){})()
2016-05-19 10:45:00
https://jsfiddle.net/h44faj8x/
check_file收到的file_path是正確的假如back.path有錯,表示問題是出在check_file裡面
作者: rarex (╰(〒皿〒)╯)
2016-05-29 20:52:00
因為讀檔案是非同步的 當你迴圈跑完以後才會開始讀所以你的function裡面拿到的檔名永遠是最後一個寫js在loop裡面包function就要特別小心這種事情
繼續閱讀
[問題] 如何讓所有色塊完全移到右邊了才顯示訊息
banana2014
Fw: [問題] 移到頁面最下面後自動追加新內容
banana2014
Re: [問題] javascript 函數的提升
mrbigmouth
Re: [問題] javascript 函數的提升
kisha024
Re: [問題] javascript 函數的提升
mrbigmouth
[問題] javascript 函數的提升
kisha024
[問題] 請問有推薦學JS的地方嗎?
G4321
[問題] React設計timer問題
e2755699
Re: [公告] 版規也要 2.0
a05031113
Re: [問題] 有辦法印出this的內容嗎?
mrbigmouth
Links
booklink
Contact Us: admin [ a t ] ucptt.com