gpt4 book ai didi

javascript - 试图理解回调函数

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:40 25 4
gpt4 key购买 nike

我试图理解为什么我的函数在我到达 openModal 脚本的回调之前被执行。我是 javascript 的新手,但我的理解是,当您传递一个函数时,它会在调用时执行 (即我在 openModal 函数中的回调()函数)。我看过许多其他示例,看起来我的结构是正确的,但我一定遗漏了一些东西。此处的任何指导都会有所帮助。

调用openModal时的事件顺序

  • 列表项
  • 执行回调函数
  • 关闭其他模式
  • 打开当前模式
  • 什么都不做,因为回调函数是未定义的(为什么是未定义的?)

事情不应该这样发展

  • 关闭其他模式
  • 打开当前模式
  • 执行回调函数

感谢此处的任何指导。

<script>
function openModal(modal, callback) {
let modalCollection = document.getElementsByClassName(`modal`)
if (modalCollection) {
for (let index = 0; index < modalCollection.length; index++) {
closeModal(modalCollection[index]);
}
}
if (modal) {
modal.style.display = `block`;
}
if (callback) {
callback();
}
}
</script>

openModal(modalContactDelete, openModalContactDeleteCallback(${element.ContactId}))

最佳答案

它被调用是因为你通过()调用它

您可以尝试以下方法:

openModal(modalContactDelete, () => {
openModalContactDeleteCallback(element.ContactId)
})

因此,回调将是一个匿名函数,在其中调用您的 openModalContactDeleteCallback

关于javascript - 试图理解回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56703792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com