如何更改EventSource
声明中的源集?
我尝试过这样的事情:
var source = new EventSource("/blahblah.php?path=" + (window.location.pathname));
// Few lines later...
source.url = "/blahblah.php?path=" + url;
但是,source.url
保持不变......
这甚至可能吗?或者也许有其他方法可以做到这一点?
答案 0 :(得分:2)
不,这是不可能的。传递给EventSource()
的新网址会创建一个新的EventSource
对象。
答案 1 :(得分:1)
guest271314向我提出了很多解决方案,但对我来说,与sse保持相比会更好,更快,更简单。
我通过关闭和删除(所有必要的)源变量来更改源。
我就这样做了:
source.url = "/blahblah2.php";
source.close();
delete source;
//Redefine source
重要提示:如果您使用var
定义了来源,那么这项工作就无法完成!重新定义也应该没有它!