Risolvere i problemi ed eseguire il debug del codice di incorporamento
Quando si sviluppa una soluzione di analisi incorporata, è possibile che si verifichino errori. In questo caso, è necessario capire perché si è verificato l'errore.
Usare l'evento error
per eseguire il debug della soluzione di analisi incorporata e comprendere meglio cosa ha causato gli errori.
Se si verifica un errore che non si è in grado di gestire, è sempre possibile cercare o porre una domanda in Stack Overflow.
Trovare l'errore che si è verificato
Un evento error
viene generato quando si verifica un errore. È possibile ascoltare l'evento usando element.on(...)
e quindi impostare un gestore eventi.
report.on('error', (errorObject) => {
...
});
Per altre informazioni sulla gestione degli eventi, vedere Come gestire gli eventi.
L'evento error
restituisce un oggetto IError
:
interface IError {
message: string;
detailedMessage?: string;
errorCode?: string;
level?: TraceType;
technicalDetails?: ITechnicalDetails;
}
Ad esempio, quando il token scade, si otterrà l'oggetto errore seguente:
{
"message": "TokenExpired",
"detailedMessage": "Access token has expired, resubmit with a new access token",
"errorCode": "403"
}
Per informazioni sull'aggiornamento del token di accesso, vedere Aggiornare il token di accesso.
Risoluzione dei problemi
Dopo aver acquisito l'oggetto IError
, confrontarlo nella Risolvere i problemi dell'applicazione incorporata con l'oggetto IError tabella e individuare le possibili cause dell'errore.
Nota
Esiste una tabella degli errori comuni per gli utenti di Power BI (nota anche come incorporamento per l'organizzazione) e per gli utenti non Di Power BI (noto anche come incorporamento per i clienti).
Eseguire il debug nella console del browser
È anche possibile eseguire semplicemente il debug dell'app nella console del browser. Ad esempio, immettere il frammento di codice seguente dopo aver creato un'istanza di incorporamento:
// Add a listener to 'error' events
report.on('error', (errorObject) => {
const err = errorObject.detail;
// Print the error to console
console.log(`Error occurred: ${err.message}. Detailed message: ${err.detailedMessage}`);
console.log(err);
});
Rilevare gli errori delle API
La maggior parte delle API client sono funzioni asincrone che restituiscono un Promise.
Se si usa il modello di async
/await
, è consigliabile usare try
/catch
per rilevare un potenziale errore. Per esempio:
try {
...
// Set a new access token
await report.setAccessToken(newAccessToken.token);
} catch (e) {
...
}
Se non si usa il modello di async
/await
, è possibile usare la funzione catch
per rilevare un potenziale errore. Per esempio:
// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
...
});