在null上调用了cancel方法

时间:2020-05-13 15:14:03

标签: flutter dart stream provider

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

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

class classB extends State<Home>{

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

但是它不起作用,并且出现此错误: 在null上调用了cancel方法

1 个答案:

答案 0 :(得分:0)

我认为您没有启动这个positionStream,这就是为什么您会收到此错误。

您可以检查可识别空值的运算符,以避免出现此错误。

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

现在,仅当它不为null时,它将取消流。