试图了解回调函数

时间:2019-06-21 12:49:23

标签: javascript css callback

在尝试获取openModal脚本的回调之前,为什么要执行函数?我对javascript相当陌生,但我的理解是,当您传递函数时,它将在调用(即openModal函数中的callback()函数)时执行。我看过许多其他示例,看来我的结构正确,但是我肯定缺少一些东西。这里的任何指导都会有所帮助。

调用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}))

1 个答案:

答案 0 :(得分:2)

之所以调用它,是因为您通过()

对其进行了调用

您可以尝试以下操作:

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

由于这个原因,回调将是一个匿名函数,在其中,您调用了openModalContactDeleteCallback