Javascript rxjs delayWhen with debounce删除可观测数据的最后一项

Javascript rxjs delayWhen with debounce删除可观测数据的最后一项,javascript,rxjs,Javascript,Rxjs,我需要处理一个可见光的输出,在这个可见光停止发射3秒后。。。所以我使用delayWhen(x=>originalObservable.pipe(debounceTime(3000))。。。 为什么C项丢失 //in$是一个主题 美元管道( 轻触(x=>log(4,'item'+x.name+'已到达,等待解盎司时间…), delayWhen(()=>单位为$.pipe(debounceTime(3000)), 轻触(x=>log(4,'item'+x.name+'的去盎司时间已过,继续…'))

我需要处理一个可见光的输出,在这个可见光停止发射3秒后。。。所以我使用delayWhen(x=>originalObservable.pipe(debounceTime(3000))。。。 为什么C项丢失

//in$是一个主题
美元管道(
轻触(x=>log(4,'item'+x.name+'已到达,等待解盎司时间…),
delayWhen(()=>单位为$.pipe(debounceTime(3000)),
轻触(x=>log(4,'item'+x.name+'的去盎司时间已过,继续…'))
).订阅
//日志是
/*
我到了,等一下,时间到了。。。
itme B到了,等一下去盎司时间。。。
itme C到了,等一下去盎司时间。。。
项目A的去盎司时间已过,请继续。。。
B项的去盎司时间已过,请继续。。。
*/
已解决

let lastTicTime:number;
美元管道(
点击(x=>{
lastTicTime=Date.now();
log('item'+x.name+'已到达,等待解盎司时间…'))
} ),
延迟时间(()=>间隔(1000)。管道(
映射(()=>(Date.now()-lastTicTime)>cfg.inputDelay),
过滤器(x=>x==true),
点击(x=>console.log('timer done'))
) ),
轻触(x=>console.log(“+x.name+”经过的去盎司时间,继续…))

)
为什么不使用
delayWhen(()=>timer(3000))
?我需要处理一个可观察到的输出,在该可观察到的停止发射3秒之后,而不仅仅是3秒之后我发现去盎司取最后一项。。。所以这不是做我需要的事情的正确方法