事件驱动编程

事件驱动编程是一种范例,涉及构建发送和接收事件的应用程序。

当程序发出事件时,程序通过运行注册到该事件和上下文的任何回调函数来响应,并将相关数据传递给该函数。

使用该模式,即使没有订阅任何函数,也可以将事件发送到野外而不会抛出错误。

 

一个常见的例子是监听DOM事件的元素模式,例如click和mouseenter,其中在事件发生时运行回调函数。

document.addEventListener("click", function(event) {
  // This callback function is run when the user
  // clicks on the document.
})

  

如果没有DOM的上下文,模式可能如下所示:

const hub = createEventHub()
hub.on("message", function(data) {
  console.log(`${data.username} said ${data.text}`)
})
hub.emit("message", {
  username: "John",
  text: "Hello?"
})

  

通过此实现,on是订阅事件的方式,而emit是发布事件的方式。

 

遵循发布 - 订阅模式

通过运行订阅该事件的任何回调函数来响应发生的事件。

posted @ 2019-08-29 19:35  钰蛋  阅读(352)  评论(0编辑  收藏  举报