SSE为兼容ie浏览器使用event-source-polyfill
sse與websocket簡要對比。
SSE默認支持斷線重連,websocket需要自己實現,
SSE一般只用來傳送文本,二進制數據需要編碼后傳送,websocket默認支持傳送二進制數據。
SSE支持自定義發送的消息類型
首先,安裝polyfill
npm install event-source-polyfill
因為event-source-polyfill沒有ts版本,所以要解決這個問題,需要建立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…
}
}, []);
因為SSE傳送的流信息,所以在開發環境做反向代理時,一定要設置compress: false。否則監聽不到onmessage事件。
總結
以上是生活随笔為你收集整理的SSE为兼容ie浏览器使用event-source-polyfill的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据库04】中级开发需要掌握哪些SQL
- 下一篇: 安装错误 Package require