Ich versuche, eine Funktion zu schreiben, die einen API-Aufruf macht und ein Versprechen zurückgibt. Hier ist meine Funktion Definition:Fehler - inkonsistenter Rückgabetyp (mit Abschluss Compiler Promise)
/**
* Gets the IAM policy for a service account. Wraps getIamPolicy endpoint:
* https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/getIamPolicy
* @param {!Project} project
* @param {string} email - Unique email for a service account.
* @return {!angular.$q.Promise<!Object<!string, !Policy>>}
*/
getIamPolicy(project, email) {
const path = constructPath_(project, email) + ':getIamPolicy';
return this.apiClient_.request({method: 'POST', path}, this.config_)
.then(response => { debugger; });
}
ich den Verschluss-Compiler bin mit, und das wirft einen Compiler-Fehler:
service-account-service.js:124: ERROR - inconsistent return type
found : angular.$q.Promise<undefined>
required: angular.$q.Promise<Object<string,Policy>>
return this.apiClient_.request({method: 'POST', path}, this.config_)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Was mache ich falsch? Wie soll ich das Versprechen zurückgeben?
Die vorherigen Funktionen, die ich mit meiner Hilfsfunktion apiClient_.request geschrieben habe, funktionieren einwandfrei. Ich sollte den gleichen Wert von this.apiClient_.request zurückgeben.
Richtlinie und Projekt sind in einer externen Datei definiert (ich glaube richtig). Ich verwende auch Angular 1.4