Skip to content

Commit 0d9c962

Browse files
committed
docs: improve request queueing during token refersh in example
1 parent 3bd0d95 commit 0d9c962

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

examples/gql_example_http_auth_link/lib/http_auth_link.dart

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,21 @@ class HttpAuthLink extends Link {
2222

2323
Future<void> updateToken() async {
2424
if (!_isRefreshing) {
25-
_isRefreshing = true;
25+
try {
26+
_isRefreshing = true;
2627

27-
_token = await Future.delayed(
28-
Duration(milliseconds: 10),
29-
() => "Valid token",
30-
);
28+
_token = await Future.delayed(
29+
Duration(milliseconds: 10),
30+
() => "Valid token",
31+
);
3132

32-
_isRefreshing = false;
33-
_tokenRefreshQueue.forEach((completer) {
34-
completer.complete(_token!);
35-
});
36-
_tokenRefreshQueue.clear();
33+
_tokenRefreshQueue.forEach((completer) {
34+
completer.complete(_token!);
35+
});
36+
_tokenRefreshQueue.clear();
37+
} finally {
38+
_isRefreshing = false;
39+
}
3740
} else {
3841
// If token refresh is already in progress, queue the request
3942
final completer = Completer<String>();

0 commit comments

Comments
 (0)