Я следую Electron файловой системы учебник здесь:Повторные данные функции Js не приезжая в вызове функции
How to choose , read, save, delete or create a file with Electron Framework
который включает в себя следующий код, чтобы вытащить диалоговое окно загрузки файла:
document.getElementById('select-file').addEventListener('click',function(){
dialog.showOpenDialog(function (fileNames) {
if(fileNames === undefined){
console.log("No file selected");
}else{
document.getElementById("actual-file").value = fileNames[0];
readFile(fileNames[0]);
// myData = readFile(fileNames[0]); <---
}
});
},false);
И следующий код для фактического чтения файла:
function readFile(filepath) {
fs.readFile(filepath, 'utf-8', function (err, data) {
if(err){
alert("An error ocurred reading the file :" + err.message);
return;
}
document.getElementById("content-editor").value = data;
});
}
Как вы можете видеть, последняя строка обновляет DOM с импортированными данными. Тем не менее, я хочу вернуть данные в свою вызывающую функцию, потому что это не HTML. Обратите внимание на прокомментированную строку в конце первого отрезка. Это то, что я хочу сделать.
Это фактически XML, который нужно обработать, а не сбрасывать в DOM. Но все мои попытки вернуть данные (в частности, «вернуть данные», либо там, где последняя строка, либо до окончательной фигурной скобки), не удались. Ни один из них не приводит к тому, что вызывающая функция получает данные.
Возможно ли, что вызывающая функция должна дождаться завершения этого? Или, скорее всего, я просто не возвращаю данные правильно из этого типа функции. Буду признателен за любую оказанную помощь.
Это сработало хорошо. Таким образом, я могу также вызвать его из ctrl-L, а также меню «Файл» и щелкнуть правой кнопкой мыши по фону. Это должно позволить мне сделать все это. Благодарю. –