के भीतर एक डिस्पोजेबल का निपटान करने का सही तरीका मेरे पास HTTPService
है जो Observable<NSData>
देता है। मेरा लक्ष्य उस सेवा को किसी अन्य सेवा, ServiceA
में लिखना है जो मेरे उपयोग के मामले के लिए उस डेटा को बदलता है। Observable.create
का उपयोग 0xमें RxSwift 2.0.0-rc.0 में यह सीधे आगे पर्याप्त है। मेरा सवाल यह है कि HTTPService
की सदस्यता से लौटे डिस्पोजेबल को सही तरीके से कैसे संभालना है।एक अवलोकन योग्य
यदि मैं कुछ नहीं करता तो मुझे संकलन समय चेतावनी मिलती है कि result of call is unused
: http://git.io/rxs.ud। मैं पढ़ रहा है कि यह संभावना है ठीक है अगर मैं कुछ नहीं कर से समझते हैं: (जहां xs
नीचे उल्लेख let xs: Observable<E> ....
मामले XS में पूरे या त्रुटि संदेश के साथ एक उम्मीद के मुताबिक रास्ते में समाप्त हो जाता है है, हैंडलिंग नहीं सदस्यता डिस्पोजेबल किसी भी संसाधन लीक नहीं होगा , लेकिन यह अभी भी जिस तरह से पसंद किया जाता है क्योंकि इस तरह तत्व में गणना उम्मीद के मुताबिक इस समय समाप्त हो जाता है।
तो यहाँ कैसे मैं वर्तमान में यह संबोधित कर रहा हूँ, और भी है जहाँ मैं या अगर मैं इस ठीक से कर रहा हूँ सोच रहा हूँ कि मेरे पास है कुछ गलत समझा।
public struct ServiceA{
public static func changes() -> Observable<ChangeSet>{
return Observable.create{ observable in
// return's Observable<NSData>
let request = HTTPService.get("https://httpbin.org/get")
let disposable = request.subscribe(
onNext: { data in
// Do more work to transform this data
// into something meaningful for the application.
// For example purposes just use an empty object
observable.onNext(ChangeSet())
observable.onCompleted()
},
onError:{ error in
observable.onError(error)
})
// Is this the right way to deal with the
// disposable from the subscription in this situation?
return AnonymousDisposable{
disposable.dispose()
}
}
}
}
आप पूरी तरह से फिर से स्थान पर रहे हैं: 'map'
अपने उदाहरण में यह कुछ इस तरह होगा। मैं पूरी तरह से भूल गया, धन्यवाद! 'डिस्प्लेबैग' के लिए, क्योंकि यह एक स्थिर func है, मुझे नहीं पता कि एक 'निपटान बाग' उस दायरे में सही बात होगी, लेकिन निश्चित रूप से नक्शा एक अच्छा सुझाव है, धन्यवाद। –
आपका स्वागत है :) RxSwift के साथ मजा करो –