fetch_data(json_data: any) { let self = this let ctrl = new AbortController() // console.log('ctrl', ctrl) fetchEventSource('http://10.110.133.8/apiv2/videomgr/query', { method: 'POST', signal: ctrl.signal, headers: { 'Content-Type': 'application/json', accept: 'text/event-stream' }, body: JSON.stringify(json_data), async onmessage(event: EventSourceMessage) { console.log('event', event) if (event.data === '') return self.list.push({ name: 'xs', msg: event.data }) }, async onopen(response: any) { // 开始 console.log('rerere', response) } }) }
时间: 2024-02-14 09:27:47 浏览: 164
Python库 | fetch_data-0.2.3-py3-none-any.whl
这段代码是一个使用fetch函数发送POST请求并获取数据的函数。它使用Fetch API来发送异步请求,并通过EventSource对象来监听服务器推送的事件。
首先,它创建了一个AbortController对象`ctrl`,用于中止请求。
然后,它使用fetch函数发送POST请求到指定的URL `'http://10.110.133.8/apiv2/videomgr/query'`。请求的方法为POST,请求头包含了Content-Type为application/json和accept为text/event-stream。
请求的主体是通过JSON.stringify方法将json_data对象转换为JSON字符串。
同时,它设置了两个事件处理程序:
1. onmessage事件处理程序用于监听服务器推送的消息。当接收到消息时,将消息作为新的对象添加到self.list数组中。
2. onopen事件处理程序用于在连接打开时进行一些操作。在这里,它会打印出response对象。
整体来说,这段代码使用Fetch API发送POST请求,并监听服务器推送的消息和连接打开事件。在收到消息时,将其添加到列表中。
阅读全文