问题描述
我在rxjs中是noobie。我用RxJS编写了一个实际上上传文件的代码。
library(data.table)
aqDT <- data.table(airquality)
cln <- "Wind" # colnames is a function in base R,better not add confusion
aqDT[,paste0(cln,"_Month") := sum(get(cln)),by = Month]
aqDT
# Ozone Solar.R Wind Temp Month Day Wind_Month
# 1: 41 190 7.4 67 5 1 360.3
# 2: 36 118 8.0 72 5 2 360.3
# 3: 12 149 12.6 74 5 3 360.3
# 4: 18 313 11.5 62 5 4 360.3
# 5: NA NA 14.3 56 5 5 360.3
# ---
# 149: 30 193 6.9 70 9 26 305.4
# 150: NA 145 13.2 77 9 27 305.4
# 151: 14 191 14.3 75 9 28 305.4
# 152: 18 131 8.0 76 9 29 305.4
# 153: 20 223 11.5 68 9 30 305.4
function uploadFiles(filesArray) {
return from(filesArray).pipe(
concatMap(val => of(val).pipe(delay(500))),bufferCount(2),mergeMap(this.doSomeValidation()),concatMap(val => of(val).pipe(delay(1000))),bufferCount(4),mergeMap(this.doUploadFile()),mergeMap(this.doCheckIfFileReachedDB()),);
}
现在我要在UT中对此进行测试。
我为此使用了订阅和断言。
我的UT看起来像这样:
const I = this;
I.uploadFiles(filesArray).subscribe();
所以,我遇到的问题是:
- 它给我2000毫秒的超时时间。由于此测试用例有延迟。
我已经将lolex用于fakeTimers,但是没有用
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)