สังเกตได้เลิกใน rxdart 0.23.1


14

ฉันเพิ่งอัพเกรดเป็นrxdart 0.23.1และทันใดนั้นฉันก็พบข้อผิดพลาดไม่ว่าฉันจะใช้Observableคลาสที่ไหน ฉันได้อ่านเกี่ยวกับการเปลี่ยนแปลงการแตกหักในเอกสารประกอบและได้ระบุให้ใช้rxdart_codemodแพ็คเกจที่ฉันได้รวมไว้ในpubspec.yamlไฟล์ของฉันและการรันคำสั่งต่อไปนี้จะpub global activate rxdart_codemodทำให้เกิด-bash: pub: command not foundข้อผิดพลาด ฉันติดตั้งflutterอย่างถูกต้องและflutter doctorดูเหมือนว่าจะทำงานได้ดี มีคลาสอื่นที่แทนที่Observableไม่พบสิ่งใดในเอกสาร แน่นอนฉันสามารถแทนที่Observableด้วยStreamจากภาษา Dart แต่สนใจจริงๆที่จะรู้ว่าrxdartแพกเกจใช้เส้นทางใดตามที่มันระบุว่ามันเป็นการใช้ประโยชน์จาก. การdart extensionใช้วิธีการแบบcombineLatest2นี้เป็นไปไม่ได้ด้วยDart's Stream ดังนั้นมันจะไม่เป็นทางเลือกที่ดีสำหรับการทดแทน

คำตอบ:


25

Observableจะถูกแทนที่ด้วยStreamที่ผมกล่าวถึงในคำถาม แต่ถ้าคุณจะใช้วิธีการเช่นcombineLatest2จากObservableนั้นเพียงแค่เปลี่ยนObservableจากระดับนามธรรมRxเพื่อให้คุณสามารถใช้Rx.combineLatest2


20

Rxdart ไม่ต้องการคลาสที่กำหนดเองให้ทำงานอีกต่อไป

ตอนนี้ก็ต้องอาศัยวิธีการขยายซึ่งเป็นคุณลักษณะที่โผล่าสุด (โผ 2.6) ในการดำเนินการทั้งหมดของคุณสมบัติโดยตรงบนObservableStream

คุณสามารถแทนที่ทั้งหมดของคุณ โดยObservableStream


3
แก้ไขการสะกดคำของสตรีม
เขยิบ

แล้วทำวิธีที่ผมใช้วิธีการเช่น combineLatest2 กับกระแสที่จะเป็นไปไม่ได้
เขยิบ

4

คุณสามารถใช้ได้

flutter pub global activate rxdart_codemod 

pub global activate rxdart_codemodแทน

อีกตัวเลือกหนึ่งคือการเปลี่ยนของคุณโดยObservableStream


3

ใช้ Rx.combineLatest2 มากกว่า Observable.combineLatest2

สังเกตได้ไม่ทำงานอีกต่อไป!


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.