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