SSE为兼容ie浏览器使用event-source-polyfill
sse與websocket簡(jiǎn)要對(duì)比。
SSE默認(rèn)支持?jǐn)嗑€重連,websocket需要自己實(shí)現(xiàn),
SSE一般只用來傳送文本,二進(jìn)制數(shù)據(jù)需要編碼后傳送,websocket默認(rèn)支持傳送二進(jìn)制數(shù)據(jù)。
SSE支持自定義發(fā)送的消息類型
首先,安裝polyfill
npm install event-source-polyfill
因?yàn)閑vent-source-polyfill沒有ts版本,所以要解決這個(gè)問題,需要建立src/types/index.d.ts文件
文件中聲明
declare const event-source-polyfill: any;
declare module ‘event-source-polyfill’;
使用例子
important { EventSourcePolyfill } from ‘event-source-polyfill’;
useEffect(() => {
const evtSource = new EventSourcePolyfill(‘/stream’, {
headers: {
Authorization: ‘token’
}
})
evtSource.onmessage = function(event: any) {
// to to something…
}
}, []);
因?yàn)镾SE傳送的流信息,所以在開發(fā)環(huán)境做反向代理時(shí),一定要設(shè)置compress: false。否則監(jiān)聽不到onmessage事件。
總結(jié)
以上是生活随笔為你收集整理的SSE为兼容ie浏览器使用event-source-polyfill的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据库04】中级开发需要掌握哪些SQL
- 下一篇: 前端第一天,第六十五天