我刚开始学习angular4和打字稿。所以,如果这是一个非常基本的问题,请原谅我。
在我的角度服务中,我定义了一个方法:
removePerson(person: Person): Promise<void> {
return Promise.resolve(PERSONS.splice(PERSONS.indexOf(person), 1));
}
编译器抱怨我应该从Promise<Person[]>
Promise<void>
但是我希望从那个Promise中回归。如何更改功能的主体?
答案 0 :(得分:1)
返回&#34;无效&#34;在javascript中意味着不要返回任何类似的东西:
removePerson(person:Person){
PERSONS.splice(PERSONS.indexOf(person), 1);
}
答案 1 :(得分:1)
那应该是
function removePerson(person: Person): Promise<void> {
PERSONS.splice(PERSONS.indexOf(person), 1);
return Promise.resolve();
}
removePerson
是同步的,承诺在这里什么都不做。如果它没有真正的理由让它返回一个承诺(例如,该类实现了removePerson
应该返回一个承诺的现有API),它可能会改为
function removePerson(person: Person): void {
PERSONS.splice(PERSONS.indexOf(person), 1);
}