RxGo で Observable の購読をキャンセルするには context.Context
を利用します。
parent := context.Background()
ctx, cancel := context.WithCancel(parent)
<-observable.ForEach(func(i interface{}) {
}, func(err error) {
}, func() {
}, rxgo.WithContext(ctx))
// cancel を実行することで購読をキャンセルすることができます
cancel()
キャンセルすることのできる context.Context
を生成しておきます。
parent := context.Background()
ctx, cancel := context.WithCancel(parent)
Observable.ForEach
は第4引数以降にオプションを与えることができます。rxgo.WithContext
を利用すれば購読処理に context.Context
を与えることができます。