首页 > 解决方案 > 在 null 上调用了方法 cancel

问题描述

大家好希望你们一切都好,我想取消订阅流,这就是我想做的

class classA extends ChangeNotifer{
StreamSubscription<Position> positionStream;
}

class classB extends State<Home>{

 Provider.of<classA>(context,listen: false).positionStream.cancel();
}

但它不起作用,我得到这个错误:取消方法被调用为空

标签: flutterdartstreamprovider

解决方案


我认为您没有启动此 positionStream,这就是您收到此错误的原因。

您可以检查 null 感知运算符以避免此错误。

Provider.of<classA>(context,listen: false).positionStream?.cancel();  // Question mark added

现在,只有当它不为空时它才会取消流。


推荐阅读