Выполнить функцию после выполнения функции asyn c - PullRequest
0 голосов
/ 27 марта 2020

У меня есть три функции, которые должны выполняться одна за другой

$(document).ready(function(){
    // Async function
    getAllTask();
    // Need to call after above function completed its process
    loadTasks();
    initView();
    listenEvents();
});

async function getAllTask(){
    // For this ap.request alone I used await, Because of await keyword I make this function as async
    await AP.request(...);

}

Я хочу выполнить все остальные функции после того, как функция getAllTask() завершит свой процесс. Но функция getAllTask() является асин c. Пожалуйста, помогите мне решить эту проблему.

Кто-нибудь сталкивался с такой же проблемой?

1 Ответ

1 голос
/ 27 марта 2020

Используйте также await при вызове getAllTask ​​(); и сделайте функцию asyn c, чтобы код ожидал, пока функция завершится c функция с resol () здесь пример

 $(document).ready(async function(){
        // Async function
        await getAllTask().then((data)=>{
            //Here you will get resolve(data)
            console.log(data)
        }).catch((err)=>{
            console.log(err)
                //here you will get error given
        })
        // Need to call after above function completed its process
        loadTasks();
        initView();
        listenEvents();
    });

    async function getAllTask(){
        return new Promise((resolve,reject)=>{
        // For this ap.request alone I used await, Because of await keyword I make this function as async
            await AP.request(...).then((data)=>{
                //It will resolve data, same as return
                resolve(data)
            }
            .catch((err)=>{
                //It will return the error given
                reject(err)
            };
        }
    }
...