繁体   English   中英

Javascript - 得到一个 function 一个接一个运行

[英]Javascript - get one function to run after another

我有一个 function 在按钮上发生单击事件时运行 - first()。 在其中填充了一个字典,并且 second() 使用字典中的这些值。 我希望 second() 在该字典被填充后运行。 我试图将 second() 放在 first() 内的回调中,但它同步运行,这意味着(我认为),当它启动第二个 function 时,字典仍然是空的。 我认为我需要首先返回 promise,或者获得第二个 function 以等待第一个 function 的完成,但我不知道如何。 任何指导表示赞赏。 我也想在没有 JQuery 的情况下执行此操作(理想情况下)。

function first(){
  populateDict()
}

function second(){
  loopThroughDict()
}

了解 async await 可以参考这篇文章

这里second() function 只有在populateDict()返回之后才会被调用

async function first(){
  await populateDict();
  second();
}

回调放在populateDict() function 中。

function populateDict(second){
    //do some stuff to populate dictionary
    second()
}

现在在first()中使用回调 function 调用填充字典

function second(){
    iterateThroughDict()
}
function first(){
    populateDict(second)
}

我希望这能帮到您:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM