/**
Returns an observable sequence that contains a single element.
*/
public static func just(element: E, scheduler: ImmediateSchedulerType)->Observable<E> {
return JustScheduled(element: element, scheduler: scheduler)
}
class JustScheduled<Element>: Producer<Element> {
private let _scheduler: ImmediateSchedulerType
private let _element: Element
init(element: Element, scheduler: ImmediateSchedulerType) {
}
override func subscribe<O: ObserverType where O.E == E>(observer: O) -> Disposable {
let sink = JustScheduledSink(parent: self, observer: observer)
sink.disposable = sink.run()
return sink
}
}
class JustScheduledSink<O: ObserverType> : Sink<O> {
typealias Parent = JustScheduled<O.E>
private let _parent: Parent
init(parent: Parent, observer: O) {
_parent = parent
super.init(observer: observer)
}
func run()->Disposable {
let scheduler = _parent._scheduler
return scheduler.schedule(_parent._element) { element in
self.forwardOn(.Next(element))
return scheduler.schedule(()) { _ in
self.forwardOn(.Completed)
return NopDisposable.instance
}
}
}
}
JustScheduled运算
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1. 赋值运算符 "=" Swift赋值语句不可作为条件判断语句 2.基础运算符 "+ - * / %" 3.单目...
- 一元运算符 delete delete 运算符删除对以前定义的对象属性或方法的引用。例如: delete运算符不能...
- 1.情绪管理ok. 2.陪伴:下班后,妈妈忙着准备去比赛,今天孩子一路陪同,帮我们拿手机拿包包,任务不清。回家今天...