Synchroniczne wywołanie funkcji po funkcji

0

Czy jest jakiś DZIAŁAJĄCY sposób, żeby wywołać funkcję Javascript dopiero po tym jak wykona się inna funkcja?
Niby łatwa rzecz i znalazłem w internecie wiele różnych podejść, ale w moim przypadku nic nie zadziałało.

Chcę przykładowo załadować zawartość elementu Div po czym wyświetlić komunikat "Done":

    $(function () {
        $("#menu a").click(function (e) {
            e.preventDefault();
            var FileName = $(this).attr('href');
            function1(FileName, function () {
                function2();
            });
        })
    })

    function function1(FileName, callback) {
        $("#content").load("Folder/" + FileName);
        callback();
    }

    function function2() {
        alert("Done!");
    }

Wszystko działa dobrze, ale najpierw dostaję komunikat a dopiero po paru chwilach ładowany jest div. Jak wymusić, żeby druga funkcja zadziałała dopiero po pełnym załadowaniu elementu?

Z góry dzięki za pomoc

2
$(...).load(...).done(() => {
  alert('done!');
});

Ew. then zamiast done; ogólnie: poczytaj o Promise-ach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1