Javascript 执行异步函数后执行函数

Javascript 执行异步函数后执行函数,javascript,jquery,promise,async-await,jira-rest-api,Javascript,Jquery,Promise,Async Await,Jira Rest Api,我有三个功能,需要一个接一个地执行 $(document).ready(function(){ // Async function getAllTask(); // Need to call after above function completed its process loadTasks(); initView(); listenEvents(); }); async function getAllTask(){ // For t

我有三个功能,需要一个接一个地执行

$(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()
是异步的。请帮我解决这个问题


有人面临同样的问题吗?

调用getAllTask()时也使用wait;并使函数异步,以便代码将等待函数完成

$(document).ready(async function(){
    // Async function
    await 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(...);

}
您还可以实现Promise object=> 要使用resolve()完成异步函数,请参见下面的示例

 $(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)
            };
        }
    }