方法cancel在null上被调用

问题描述 投票:0回答:1

大家好希望你做得很好,我想取消流媒体订阅,这是我想做的事情。

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

class classB extends State<Home>{

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

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

flutter dart stream provider
1个回答
0
投票

我认为你没有启动这个positionStream,这就是为什么你得到这个错误。

你可以检查null aware操作符来避免这个错误。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.