首页 > 解决方案 > Flutter:如何在处理页面时销毁所有 API 调用(Future 和 Stream)

问题描述

将底部导航栏从Tab1更快地切换到Tab2。在tab 1 API 调用仍在运行时切换到Tab2时,当我在Tab2内时,日志文件仍会显示Tab1 API 调用的结果。所以我现在想要做的是,每当我处理一个页面时,它都会处理所有内容。

我已经尝试过CancelableOperation.fromFuture方法,并将CancelableOperation cancel放在 dispose 函数中,日志文件显示方法 'cancel' 在 null 上被调用

CancelableOperation cancellableOperation = CancelableOperation.fromFuture(
      Future.value(await getApiData()),
      onCancel: () =>
          {debugPrint('onCancel')},
    );
@override
  void dispose() {
    cancellableOperation.cancel();
    super.dispose();
  }
I/flutter ( 9421): Another exception was thrown: NoSuchMethodError: The method 'cancel' was called on null.

知道如何解决这个问题或任何更好的解决方案吗?

标签: flutter

解决方案


推荐阅读