【问题标题】:How can you Sort a stream by timestamp in Reactivex?如何在 Reactivex 中按时间戳对流进行排序?
【发布时间】:2020-11-09 04:49:23
【问题描述】:

我已经合并了来自 firestore 的流,现在我需要按时间戳(降序)对它们进行排序。我真的不太了解reactiveX ...我正在使用dartRx。我看到了一些使用比较器的解决方案,但不确定如何使用它。

Class Order{
Timestamp timestamp;
}

Stream<List<Order>> sortByTimestamp(){
return combineList(order).....//my stream
}

【问题讨论】:

  • 在 RxJS 中,您只能在流完成后对其进行排序。换句话说,您需要完成 observable,将发出的值收集到一个数组中,可能使用toArray 运算符,然后使用 Array 的sort 方法进行排序。如果 firestore 流未完成,则需要检查是否可以在 firestore 内部进行排序。

标签: rxjs reactivex rxdart


【解决方案1】:

感谢您的提问。 这是我的方式:)

return combineList(order).map((orders) => orders.sort(comparator).toList());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多