次のようないくつかの異なる機能を持つビューモデルがあります。
func somethingSignal() -> SignalProducer<Void, NSError>
{
return SignalProducer {
sink, disposable in
sink.sendNext(blabla)
sink.sendCompleted()
}
}
ここで、これらの信号を順番に実行する必要があります。前の信号が完了する前に開始することはできません。したがって、次のような別の関数があります。
func setup() -> SignalProducer<Void, NSError>
{
return somethingSignal()
.then(somethingSignal2())
.then(somethingSignal3())
}
then
この種の動作に使用する機能であるという印象を受けました。Signal3 は、Signal2 が完了するまで開始されるべきではなく、Signal1 が完了するまで開始されるべきではありません。
呼び出す関数には呼び出しsetup
がありstart()
ます。
これのどこが間違っているのですか?