Flutter-如何取消SSE流

8fsztsew  于 2023-01-27  发布在  Flutter
关注(0)|答案(1)|浏览(337)

嘿,我想不出如何取消我的Flutter应用程序SSE流。
我正在使用此软件包在我的应用中使用SSE:https://pub.dev/packages/sse_channel
我觉得它在文档中有一个主要的不足。
SSE工作正常,只是不知道如何用函数停止它。
我用这个来启动SSE

channel = SseChannel.connect(Uri.parse(dotenv.env['BASE_URL'] + '/sse/rn-updates'));

以及

channel.stream.listen((message) { code... and some other stuff }

那部分可以,但我不知道怎么关上它。
尝试过这样的东西

static void cancelStream() {
if (channel != null)
channel.sink.close()
}
7cwmlq89

7cwmlq891#

应在类中创建全局变量

StreamSubscription? stream;

并将其赋给这个变量

stream = channel.stream.listen((message) { code... and some other stuff }

你可以用这个代码来取消流

stream?.cancel();

相关问题