已删除的项目使用rxjs订阅

时间:2016-04-20 07:58:09

标签: javascript stream rxjs

您好我正在使用rxjs来管理对象列表。我想要做的是订阅已删除对象的列表。我创建了一个Subject对象(删除),其中一个put每个对象都删除了一个Observable(listObject)。我试图订阅删除但我认为这不是一个好主意,因为当我将一个对象放在已删除的流上时,我现在不知道这个对象是否在listObject流上。在上面的链接中有一个示例代码

var newObject = new Rx.Subject();
    var deleteObject = new Rx.Subject();
    var create = new Rx.Subject();
    var updates = new Rx.Subject();
    var remove = new Rx.Subject();
    var listObject = updates.scan(
        function (objects, operation) {
            return operation(objects);
        }, []);

    create.map(function (object) {
            return (
                function (objects) {
                    return _.union(objects, [object]);
                }
            );
        })
        .subscribe(updates);

    remove.map(function (object) {
            return (
                function (objects) {
                    return _.without(objects, object);
                }
            );
        })
        .subscribe(updates);


    newObject.subscribe(create);
    deleteObject.subscribe(remove);

Sample code

EDIT1

如果我订阅了listObject,我将始终收到有关对象列表的所有更新的通知。在我的想法中,我希望有一个rx对象来订阅从列表中获取最后一个被删除的项目,一个用于获取最后一个插入的项目,一个用于获取所有项目的列表

0 个答案:

没有答案