EventSource class
The interface is web content's interface to server-sent events.
An instance opens a persistent connection to an HTTP server,
which sends events in text/event-stream
format. The connection
remains open until closed by calling EventSource.close()
.
EventTarget
EventSource
Once the connection is opened, incoming messages from the server
are delivered to your code in the form of events. If there is an
event field in the incoming message, the triggered event is the
same as the event field value. If no event field is present, then
a generic message
event is fired.
Unlike WebSockets, server-sent events are unidirectional; that
is, data messages are delivered in one direction, from the server
to the client (such as a user's web browser). That makes them an
excellent choice when there's no need to send data from the
client to the server in message form. For example, is a useful
approach for handling things like social media status updates,
news feeds, or delivering data into a client-side storage
mechanism like IndexedDB or web storage.
Warning: When not used over HTTP/2, SSE suffers from a
limitation to the maximum number of open connections, which can
be specially painful when opening various tabs as the limit is
per browser and set to a very low number (6). The issue has been
marked as "Won't fix" in Chrome and Firefox. This limit is per
browser + domain, so that means that you can open 6 SSE
connections across all of the tabs to www.example1.com
and
another 6 SSE connections to www.example2.com.
(from
Stackoverflow). When using HTTP/2, the maximum number of
simultaneous HTTP streams is negotiated between the server and
the client (defaults to 100).
- Implemented types
- Available extensions
- Annotations
-
- @JS()
- @staticInterop
Constructors
- EventSource(String url, [EventSourceInit? eventSourceInitDict])
-
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
onerror
↔ EventHandlerNonNull<
Event> ? -
Available on EventSource, provided by the PropsEventSource extension
getter/setter pair -
onmessage
↔ EventHandlerNonNull<
Event> ? -
Available on EventSource, provided by the PropsEventSource extension
getter/setter pair -
onopen
↔ EventHandlerNonNull<
Event> ? -
Available on EventSource, provided by the PropsEventSource extension
getter/setter pair - readyState → int
-
Available on EventSource, provided by the PropsEventSource extension
no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- url → String
-
Available on EventSource, provided by the PropsEventSource extension
no setter - withCredentials → bool
-
Available on EventSource, provided by the PropsEventSource extension
no setter
Methods
-
addEventListener(
String type, EventListener? callback, [dynamic options]) → void -
Available on EventTarget, provided by the PropsEventTarget extension
-
close(
) → void -
Available on EventSource, provided by the PropsEventSource extension
-
dispatchEvent(
Event event) → bool -
Available on EventTarget, provided by the PropsEventTarget extension
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeEventListener(
String type, EventListener? callback, [dynamic options]) → void -
Available on EventTarget, provided by the PropsEventTarget extension
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited