flutter - 在 null 上调用了方法 cancel
问题描述
大家好希望你们一切都好,我想取消订阅流,这就是我想做的
class classA extends ChangeNotifer{
StreamSubscription<Position> positionStream;
}
class classB extends State<Home>{
Provider.of<classA>(context,listen: false).positionStream.cancel();
}
但它不起作用,我得到这个错误:取消方法被调用为空
解决方案
我认为您没有启动此 positionStream,这就是您收到此错误的原因。
您可以检查 null 感知运算符以避免此错误。
Provider.of<classA>(context,listen: false).positionStream?.cancel(); // Question mark added
现在,只有当它不为空时它才会取消流。
推荐阅读
- javascript - 我的 JavaScript 无法在表格中进行搜索
- javascript - 我的 javascript Show and hide 代码不起作用?
- kotlin - 如何在 Kotlin 中使用这样的行?
- applescript - 打开非法 pptx 文件后 AppleScript Keynote 挂断
- java - 连接 android app 和 web manager 之间的 api
- angular - 我们如何从 Angular 中的 JSON 类型数据中删除大括号 {} 和双引号“”?
- python - ImportError:无法从部分初始化的模块“maca.models”导入名称“Maca”(很可能是由于循环导入)
- css - How to remove computed padding from ion-button when it is disabled
- mysql - 从 2 个不同的表中选择
- reactjs - 如何自动填写反应材料表