【发布时间】:2019-09-20 16:53:32
【问题描述】:
我在这里搜索过类似的问题,但没有一个对我有用。
我知道有些人建议不要在另一个事件中使用套接字,但我不知道如何在有事件时触发套接字。
所以我在另一个事件中初始化了套接字,该事件每次发生时都会更新。但是套接字连接在每次新更新时都会重复以前的结果。
我尝试在 componentDidMount 生命周期中初始化套接字,但它根本不起作用。
class UploadComponent extends Component {
constructor (props) {
super(props);
this.state = {
endpoint: "http://localhost:3000",
}
this.uploadModal = this.uploadModal.bind(this);
}
uploadModal () {
update.on('success', file => {
let {endpoint} = this.state;
let socket = socketIOClient(endpoint, {transports: ['websocket', 'polling', 'flashsocket']});
socket.on('data', (mydata) => {
console.log(mydata) // <-- This gets fired multiple times.
})
})
}
// some more code //
}
我想在没有重复消息的情况下触发“更新”事件时触发套接字。
【问题讨论】:
标签: javascript reactjs sockets websocket socket.io