खोज…
वाक्य - विन्यास
- नई EventSource ("एपीआई / स्ट्रीम");
- eventSource.onmessage = समारोह (घटना) {}
- eventSource.onerror = समारोह (घटना) {};
- eventSource.addEventListener = फ़ंक्शन (नाम, कॉलबैक, विकल्प) {};
- eventSource.readyState;
- eventSource.url;
- eventSource.close ();
एक मूल ईवेंट स्ट्रीम को सर्वर पर सेट करना
आप अपने ग्राहक ब्राउज़र को EventSource
ऑब्जेक्ट का उपयोग करके आने वाली सर्वर घटनाओं में सुनने के लिए सेटअप कर सकते हैं। आपको कंस्ट्रक्टर को सर्वर के पथ की एक स्ट्रिंग की आपूर्ति करने की आवश्यकता होगी 'एपीआई एनपॉइंट, क्लाइंट को सर्वर ईवेंट की सदस्यता देगा।
उदाहरण:
var eventSource = new EventSource("api/my-events");
घटनाओं के नाम होते हैं जिनके साथ उन्हें वर्गीकृत किया जाता है और भेजा जाता है, और एक श्रोता को इस तरह के प्रत्येक कार्यक्रम को नाम से सुनने के लिए सेटअप करना चाहिए। डिफ़ॉल्ट ईवेंट नाम message
और इसे सुनने के लिए आपको उपयुक्त ईवेंट श्रोता, .onmessage
उपयोग करना होगा
evtSource.onmessage = function(event) {
var data = JSON.parse(event.data);
// do something with data
}
उपरोक्त फ़ंक्शन हर बार चलेगा जब सर्वर क्लाइंट को एक घटना को आगे बढ़ाएगा। यदि आप JSON डेटा भेजना चाहते हैं तो डेटा को text/plain
रूप में भेजा जाता है।
इवेंट स्ट्रीम बंद करना
EventSource.close()
पद्धति का उपयोग करके सर्वर के लिए एक इवेंट स्ट्रीम को बंद किया जा सकता है
var eventSource = new EventSource("api/my-events");
// do things ...
eventSource.close(); // you will not receive anymore events from this object
.close()
विधि कुछ भी नहीं करती है धारा पहले से ही बंद है।
इवेंट श्रोता को बाइंडिंग इवेंट श्रोता
आप ऐसे ईवेंट श्रोता बाध्य कर सकते हैं EventSource
का उपयोग कर अलग घटनाओं चैनलों को सुनने के लिए वस्तु .addEventListener
विधि।
EventSource.addEventListener (नाम: स्ट्रिंग, कॉलबैक: फ़ंक्शन, [विकल्प])
नाम : चैनल के नाम से संबंधित नाम, सर्वर से घटनाओं का उत्सर्जन कर रहा है।
कॉलबैक : कॉलबैक फ़ंक्शन हर बार चैनल से जुड़ी एक घटना उत्सर्जित होती है, फ़ंक्शन event
को एक तर्क के रूप में प्रदान करता है।
विकल्प : विकल्प जो घटना श्रोता के व्यवहार को चिह्नित करते हैं।
निम्न उदाहरण सर्वर से एक दिल की धड़कन घटना धारा को दर्शाता है, सर्वर heartbeat
की heartbeat
चैनल पर घटनाओं को भेजता है और यह रूटीन हमेशा चलता रहेगा जब कोई घटना स्वीकार की जाती है।
var eventSource = new EventSource("api/heartbeat");
...
eventSource.addEventListener("heartbeat", function(event) {
var status = event.data;
if (status=='OK') {
// do something
}
});