我想创建一个聊天,具有类似 facebook 的“xyz 正在输入”功能。
onKeydownSource.subscribe(function() {
var typing = true;
}.bind(this));
onKeydownSource.throttle(500).subscribe(function(e) {
var typing = false;
}.bind(this));
当用户停止输入时,我使用此代码段进行注册。
现在想象 e 是
{
userId: 13,
conversationId: 23
}
我的流/订阅者是
onKeydownSource.subscribe(function(e) {
typingInConversations[e.conversationId][e.userId] = true;
}.bind(this));
onKeydownSource
// What should be here?
.subscribe(function(e) {
typingInConversations[e.conversationId][e.userId] = false;
}.bind(this));
这意味着对于每个 keydown 我注册用户和用户正在输入的对话。我的问题是,我如何才能仅限制具有相同 userId+conversationId 的“事件”?