【发布时间】:2019-12-14 04:05:59
【问题描述】:
目前我正在使用 webSockets 在聊天应用程序中工作。我已经实现了一个指示器,它显示其中一个聊天成员当前正在输入。我有另一个电话,在该人开始打字以删除指示器后 5 秒触发。我遇到的问题是,如果该人继续输入超过 5 秒,则“输入”指示器会在 UI 中快速闪烁……这是我当前的实现。
sendChatState({ commit, dispatch, state }, payload) {
connectionService.connection.setDialogChatState({dialogId: payload.visitId, conversationId: payload.visitId, chatState: 'composing'})
// Create set timeout here to pause typing indicator...
setTimeout(() => {
connectionService.connection.setDialogChatState({dialogId: payload.visitId, conversationId: payload.visitId, chatState: 'pause'})
}, 5000)
},
看来我可能需要使用某种类型的节流阀来限制调用量。然而,这是我遇到麻烦的地方,因为我不完全确定如何实现它。
【问题讨论】:
标签: javascript vue.js lodash vuex