Использование обратных вызовов с загрузкой и отправкой сообщений - PullRequest
0 голосов
/ 10 октября 2018

Целый день боролся с обратными вызовами, я все еще не могу применить их в ситуации загрузки файла / отправки сообщения.По сути, я загружаю файл базы данных Caspio в iframe и отправляю некоторые из его записей данных родителю, используя postmessage.Все это прекрасно работает.Но затем я хочу, чтобы основная часть моего кода продолжалась ПОСЛЕ того, как было выполнено указанное выше сообщение.В настоящее время мне удалось заставить базу данных изначально загружаться полностью (часть 1 предупреждений), но вместо того, чтобы также получать пост-сообщение (код в части 2), код переходит к «части 3».Часть 2 даже не закончена.Я хочу, чтобы загрузка базы данных и обмен сообщениями завершались полностью, прежде чем перейти к части 3.Любая помощь высоко ценится.

$('<iframe>', {
    id: 'myiframe',
    src: 'https://blahblah…',
}).appendTo('#iframeContainer');

$('#myiframe').on('load', function() {
    alert('Part 1: File finished loading');

    //-----------

    // Receive postmessage from iframe  
    var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
    var eventer = window[eventMethod];
    var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

    eventer(messageEvent, function(e) {
        var myDatabaseData = e.data;
        alert('Part 2: Database data all received');
    }, false);

    //-----------

    $(function() {
        alert('Part 3: Do this code AFTER Part 1 and Part 2 completed');
    })

    //-----------

}) // End of LOAD
...