2017-04-14 3 views
1

Ich habe gerade angefangen, eckig4 und Typoskript zu lernen. Also, wenn das eine sehr grundlegende Frage ist, dann bitte verzeih mir.Rückgabe void von array.splice

In meinem Winkel Dienst ich definieren eine Methode, wie:

removePerson(person: Person): Promise<void> { 
    return Promise.resolve(PERSONS.splice(PERSONS.indexOf(person), 1)); 
    } 

Compiler mich beschweren, dass ich den Rückgabetyp der Funktion Promise<Person[]> von Promise<void>

Aber ich will Leere zurückkehren ändern sollte dieses Versprechen. Wie kann ich den Körper meiner Funktion ändern?

+0

Spleißen geändert wird ein Array synchron ist ... sollte nicht brauchen versprich mir hier überhaupt – charlietfl

+0

@charlietfl Ich möchte Versprechungen verwenden, weil ich nach dem Splicen des Arrays benachrichtigt werden sollte, dass das Element aus dem Array entfernt wurde und ich Array für andere Zwecke verwenden kann.] – Vishal

+0

['Promise.resolve()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve) gibt ein Versprechen zurück. – mhodges

Antwort

1

Dann sollte es

function removePerson(person: Person): Promise<void> { 
    PERSONS.splice(PERSONS.indexOf(person), 1); 
    return Promise.resolve(); 
} 

removePerson sein synchron ist und das Versprechen tut hier nichts. Wenn es kein wirklicher Grund ist es ein Versprechen zurückzukehren (zB die Klasse implementiert API vorhandene wo removePerson sollte ein Versprechen zurück), kann es zu

function removePerson(person: Person): void { 
    PERSONS.splice(PERSONS.indexOf(person), 1); 
} 
+0

Danke Mann. Dies sollte gut funktionieren. Und es funktioniert gut. – Vishal

+0

Gern geschehen. – estus

1

Rückkehr "Leere" in Javascript Mittel nicht zurück, irgend etwas wie folgt aus:

removePerson(person:Person){ 
    PERSONS.splice(PERSONS.indexOf(person), 1); 
} 
+0

Das sollte gut funktionieren, aber ich versuche Promises zu lernen, also kannst du bitte helfen? – Vishal

+0

Ich würde vorschlagen, dass Sie Google über eckige 2 und Observablen suchen, finden Sie viele Tutorials dafür. (Sie brauchen Versprechen, wenn Sie auf das Ergebnis warten müssen (wie vom Server)). – Sheki

Verwandte Themen