我正在尝试使用服务器发送的事件获取数据,使用
的不同之处 source.onmessage
vs source.addEventListener
?
答案 0 :(得分:8)
source.onmessage
是EventSource
的内置函数包装器,在将新数据发送到客户端时触发。当没有 event
属性被返回(默认)时,它会触发,而不会在设置时触发。
addEventListener
类似,但不同之处在于它会侦听特定的event
名称,并在其存在时触发,允许您将多个事件的功能分开。然后,您可以解析返回的JSON数据。它可以用于任何事件类型。看看这个例子:
source.addEventListener("login", function(e) {
// do your login specific logic
var returnedData = JSON.parse(e);
console.log(returnedData);
}, false);
此代码段将侦听指定为event
的{{1}}的服务器消息,然后触发回调函数。
更多信息: