Функция запуска 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 функция снова, он предупреждает данные правильно.

Я ошибаюсь, думая, что функция ребенка должна завершиться первой? Это можно обойти? Я не хочу создавать цикл, который постоянно проверяет переменную для изменения.

Заранее спасибо.

0 ответов

Другие вопросы по тегам