我在尝试使用RxJS删除行之前显示确认模式。
# first I'm going to separate the data
a<-as.data.frame(df[,1])
b<-as.data.frame(df[,2])
# > a
# df[, 1]
# 1 10
# 2 14
# 3 17
# 4 18
#> b
# df[, 2]
# 1 F
# 2 F
# 3 M
# 4 F
# combining the data into a new data frame
d <- cbind.data.frame(a,b)
# > d
# df[, 1] df[, 2]
# 1 10 F
# 2 14 F
# 3 17 M
# 4 18 F
# exporting to excel
install.packages("xlsx")
library(xlsx)
write.xlsx(d, "c:/myspreadsheet.xlsx")
被调用2次。deleteLineFulfilled
被调用3次,依此类推...... 知道为什么吗?
deleteLineFulfilled
答案 0 :(得分:3)
action$
是一个永久的可观察对象,它只会在调度MODAL_NO_CLICKED
类型的操作时停止 - 从您的代码中很难说当发生这种情况时,您应该添加在.take(1)
之前.takeUntil(...)
。
但是,对于这种架构,您必须确保 有MODAL_YES_CLICKED
或MODAL_NO_CLICKED
发射,并且不能跳过发射。
一种更简单的方法是实现确认对话框,订阅结果,然后仅在结果为YES
时调度删除操作,并且结果为NO
不要&#39;甚至派遣行动。这样你就会有更清晰的动作史诗。
答案 1 :(得分:1)
试试这个:
.first() // $action is a perpetual observable. Only take the first one.
.takeUntil(action$.ofType(MODAL_NO_CLICKED))