dart - NetworkImage抖动- token 已过期

标签 dart flutter

我正在创建一个网络镜像提供程序,如下所示:

ImageProvider image = NetworkImage(
          url,
          headers: {"Authorization": "Bearer " + accessToken});

但是accessToken将在某个时刻过期。在这种情况下,如何在与创建请求完全不同的位置显示图像,如何刷新 token ?

最佳答案

一种解决方案是使用自定义HttpClient在后台实现 token 刷新。 HttpClient由NetworkImage内部使用,因此,如果您“覆盖”客户端,则NetworkImage会自动将其拾取。代码取自here

class MyHttpClient implements HttpClient {
  ...
  // An implementation of the HttpClient interface
  ...
}

main() {
  HttpOverrides.runZoned(() {
    ...
    // Operations will use MyHttpClient instead of the real HttpClient
    // implementation whenever HttpClient is used.
    ...
  }, createHttpClient: (SecurityContext c) => new MyHttpClient(c));
}

关于dart - NetworkImage抖动- token 已过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55913308/

相关文章:

dart - 在 Dart 中将子元素添加到 SelectElement

dart - 在 flutter 中创建卡片和标题

flutter - 简单的可扩展列表使底部溢出 x 像素

layout - Stack with Fittedbox 在布局中有奇怪的行为吗?

flutter - 如何在 Flutter 中将 Column 小部件添加到 Row 小部件?

Dart 语言的 Console.log

image - 如何在 flutter 中以 base64 显示 pdf?

android - 在flutter中从Json获取值

flutter - webdev 为 flutter_web helloworld 示例提供命令错误

flutter - 使用Flutter计算两个日期之间的天数