最後,我的第一個問題在這裏stackoverflow。我可以向你保證,我已經搜索了相關答案,但沒有人適合我的問題。我現在正在學習JavaScript,擁有.NET和C++的背景,但我無法得到這段代碼去做我期望的。我在這裏複製了許多版本中的一個,可能會有一個可疑的return語句放置,但是也許你可以幫我解決這個問題。JavaScript FileReader()和一個可能的返回或關閉問題
function readFile(file) {
var reader = new FileReader();
reader.onload = readSuccess;
function readSuccess(evt) {
var text = evt.target.result;
return text;
};
reader.readAsText(file);
}
我在這裏嘗試的是正在讀取一個文件,該文件通過類型爲「file」的標記輸入在HTML中接受。 一切都進入代碼內部,直到該部分。我沒有使用Chrome控制檯和Firebug的,捕捉函數的返回到一個變量在控制檯,如:
var x = readFile(aFile);
而我得到的是一個「未定義」的消息。 使用斷點,我可以看到return語句中的文本內容,並且它正確填充!但文字不退還! 我看過相關的問題,但他們使用innerHTML和其他類型的技巧,我不想在這裏做的,因爲這個函數的結果應該由另一個JS函數使用,而不是更新DOM的任何部分。
非常感謝您的時間。
這是您的*回調函數*中的'return'語句,而不是'readFile'中的返回語句。你不能 - 它是異步的! – Bergi