1 回答

TA貢獻1824條經驗 獲得超6個贊
只是一個關于你的,雖然你正在使用.我會這樣寫這段代碼:catchawait
import * as Msal from '@azure/msal-browser'
export async function getTokenPopup(request: Msal.TokenExchangeParameters) {
try {
return await auth.acquireTokenSilent(request);
} catch (error) {
return await auth.acquireTokenPopup(request);
}
}
const getGraphDetails = async (
uri: string,
scopes: Msal.TokenExchangeParameters,
axiosConfig?: AxiosRequestConfig
) => {
try {
const response = await getTokenPopup(scopes);
return callGraph(uri, response.accessToken, axiosConfig);
} catch (error) {
throw new Error("You could not get a token");
}
}
現在,為什么要進入.有一種可能性,該函數將同時失敗, 對于 和 。因此,該函數將引發錯誤(或不返回任何內容,具體取決于您的實現)。voidresponsegetTokenPopupacquireTokenSilentacquireTokenPopupgetTokenPopup
TypeScript 看到這一點,并添加一個類型以指示有可能無法獲得響應。void
添加回答
舉報