@@ -91,7 +91,10 @@ export async function getToken(
91
91
} ;
92
92
}
93
93
94
- let waitedForInFlightRequest = false ;
94
+ // Only set to true if this `getToken()` call is making the actual
95
+ // REST call to the exchange endpoint, versus waiting for an already
96
+ // in-flight call (see debug and regular exchange endpoint paths below)
97
+ let shouldCallListeners = false ;
95
98
96
99
/**
97
100
* DEBUG MODE
@@ -108,8 +111,7 @@ export async function getToken(
108
111
state . exchangeTokenPromise = undefined ;
109
112
return token ;
110
113
} ) ;
111
- } else {
112
- waitedForInFlightRequest = true ;
114
+ shouldCallListeners = true ;
113
115
}
114
116
const tokenFromDebugExchange : AppCheckTokenInternal =
115
117
await state . exchangeTokenPromise ;
@@ -133,8 +135,7 @@ export async function getToken(
133
135
state . exchangeTokenPromise = undefined ;
134
136
return token ;
135
137
} ) ;
136
- } else {
137
- waitedForInFlightRequest = true ;
138
+ shouldCallListeners = true ;
138
139
}
139
140
token = await state . exchangeTokenPromise ;
140
141
} catch ( e ) {
@@ -164,7 +165,7 @@ export async function getToken(
164
165
await writeTokenToStorage ( app , token ) ;
165
166
}
166
167
167
- if ( ! waitedForInFlightRequest ) {
168
+ if ( ! shouldCallListeners ) {
168
169
notifyTokenListeners ( app , interopTokenResult ) ;
169
170
}
170
171
return interopTokenResult ;
0 commit comments