我有以下型号
class SelectorModel with ChangeNotifier {
.... // stuff relating to the model
}
在我的模型中,我使用以下命令获取Firestore文档流:
_subscription = Firestore.instance // _subscription is defined as an iVar above
.collection('myCollection')
.snapshots()
.listen((querySnapshot) {
_jobs = querySnapshot.documents;
callingMethod(''); // the method being called is inside of my model
});
我需要一种处置_subsciption
的方法,以便在Firestore数据库中发生更改时,它不会尝试在已经处置了模型的情况下调用callingMethod()
。
我正在寻找的方法几乎类似于ChangeNotifier的以下方法:
@override
void dispose() {
super.dispose();
_subscription.cancel();
}
我浏览了提供者docs,但找不到任何内容。
感谢您的帮助!
答案 0 :(得分:2)
如果我了解您,您可以这样做
_subscription = Firestore.instance // _subscription is defined as an iVar above
.collection('myCollection')
.snapshots()
.listen((querySnapshot) {
_jobs = querySnapshot.documents;
callingMethod(''); // the method being called is inside of my model
_subscription.cancel();
});