Функция запуска Appjs после запуска функции node.js
Я пытаюсь сделать простую функцию чтения файлов в моей программе Appjs. Все, что происходит, это то, что Appjs вызывает функцию внутри моего app.js
файл и запустить его в node.js. Затем эта функция возвращает значение моей программе Appjs window.returnData = data;
Это работает, однако я не могу заставить его работать в нужном мне порядке. Кажется, что функция node.js выполняется ПОСЛЕ функции Appjs, хотя и находится внутри нее.
Вот функция внутри моих приложений index.html
файл, который запускает весь процесс.
var returnData;
function r(path,d) {
window.readFromFile(path,d); //call to the function readFromFile below
alert(returnData);
}
readFromFile()
функция из файла app.js, которая вызывается сверху
window.readFromFile = function(path,d) {
var fs = require('fs');
if (d == 1) {
path = __dirname + path;
}
fs.readFile(path, {encoding: 'utf-8'}, function(err,data){
if (err){
console.log(err);
} else {
console.log('File read');
window.returnData = data;
}
});
}
Здесь моя проблема. Первый вызов этой функции предупредит текст undefined
, Однако после функции оповещения я знаю, что window.returnData = data;
строка выше работает, потому что, если я создаю кнопку для предупреждения переменной returnData
снова или я запускаю readFromFile
функция снова, он предупреждает данные правильно.
Я ошибаюсь, думая, что функция ребенка должна завершиться первой? Это можно обойти? Я не хочу создавать цикл, который постоянно проверяет переменную для изменения.
Заранее спасибо.