xet*_*a11 17 javascript google-chrome event-stream
我正在使用SSE和内置逻辑的EventStream for javascript.在onopen返回成功结果的同时,onmessage回调不起作用.奇怪的是,在EventStream选项卡的Chrome中,数据结果按照我的预期列出.
这是我为EventSource提供的JS代码段
var eventSource;
$(function () {
eventSource = new EventSource('get/status/');
eventSource.onopen = function () {
console.log("Sse connection opened");
};
eventSource.onerror = function () {
console.log("error occured");
};
eventSource.onmessage = function (event) {
console.log("received");
};
});
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,数据正在被释放但从onmessage未被触发.任何人都可以向我解释这种行为吗?
编辑:onopen并onerror做两件事.
Tou*_*ffy 20
根据屏幕截图,您的事件流包含类型的事件"foo",而不是"message".这只是默认类型(event事件流中没有字段).从规格:
将事件的类型属性初始化为
message,[...]如果事件类型缓冲区的值不是空字符串,请将新创建的事件的类型更改为等于事件类型缓冲区的值.
在这里,您应该将侦听器设置为侦听"foo"事件:
eventSource.addEventListener("foo", function() {...})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |