【发布时间】:2017-02-10 06:33:04
【问题描述】:
现在脚本的工作方式如下:
我按下按钮并在 3 秒后得到一个值。 如果我按下按钮两次,我会得到两个值,它们之间的延迟等于点击之间的时间。 我的问题是当我再次单击按钮时如何忽略以前的请求。换句话说,每次新的点击都必须保证 我在 3 秒内得到下一个值,中间什么也没有。
//foo.js I CAN CHANGE EVERYTHING HERE
import * as bar from './bar';
let oldValue;
bar.subject.subscribe(newValue => {
oldValue = newValue
});
Rx.fromEvent(document, 'click').subscribe(() => {
bar.getValue();
});
//bar.js IT MUST NOT CHANGE
const subject = new Subject();
const getValue = () => {
setTimeout(() => {
subject.next(Math.random());
}, 3000);
};
exports {subject, getValue};
【问题讨论】:
-
如果延迟在
setTimeout()中被硬编码,那么我认为您无能为力,因为它超出了您的控制范围。
标签: rxjs