为什么setTimeout只被调用一次?
repeatSubscriber = function(observer) {
observer.next('first');
(function() {
setTimeout(() => {
observer.next('repeating timed resp');
}, 3000);
}());
};
打印
first
repeating timed resp
答案 0 :(得分:3)
setTimeout()
只能触发一次 - 您需要的是setInterval()
。
答案 1 :(得分:2)
因为它应该:
setTimeout()设置一个计时器,在计时器到期后执行一个函数或指定的代码一次。
您要找的是setInterval()
repeatSubscriber = function(observer) {
observer.next('first');
(function() {
setInterval(() => {
observer.next('repeating timed resp');
}, 3000);
}());
};
答案 2 :(得分:0)
因为它在功能性质上如此工作,
如果您需要重复通话,则需要setInterval
功能