刚开始学习angular4和typescript。所以,如果这是一个非常基本的问题,请原谅我。
在我的 Angular 服务中,我定义了如下方法:
removePerson(person: Person): Promise<void> {
return Promise.resolve(PERSONS.splice(PERSONS.indexOf(person), 1));
}
编译器提示我应该将函数的返回类型更改为 Promise<Person[]>
来自 Promise<void>
但我想从那个 Promise 返回 void。我怎样才能改变我的函数体?
最佳答案
那么应该是
function removePerson(person: Person): Promise<void> {
PERSONS.splice(PERSONS.indexOf(person), 1);
return Promise.resolve();
}
removePerson
是同步的,promise 在这里什么都不做。如果没有真正的理由让它返回一个 promise (例如,该类实现了现有的 API,其中 removePerson
应该返回一个 promise ),它可能会更改为
function removePerson(person: Person): void {
PERSONS.splice(PERSONS.indexOf(person), 1);
}
关于javascript - 从 array.splice 返回 void,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43419711/