[英]Return void from array.splice
I have just started to learn angular4 and typescript. 我刚刚开始学习angular4和打字稿。 So, if this a very basic question then please forgive me.
因此,如果这是一个非常基本的问题,请原谅我。
In my angular service I am defining a method like: 在我的角度服务中,我正在定义类似的方法:
removePerson(person: Person): Promise<void> {
return Promise.resolve(PERSONS.splice(PERSONS.indexOf(person), 1));
}
Compiler is complaining me that I should change the return type of function to Promise<Person[]>
from Promise<void>
编译器在抱怨我应该将函数的返回类型从
Promise<void>
更改为Promise<Person[]>
Promise<void>
But I want to return void from that Promise. 但是我想从那个承诺中退回虚无。 How can I change the body of my function?
如何更改功能主体?
returning "void" in javascript means don't return any thing like this: 在javascript中返回“ void”意味着不返回任何类似的信息:
removePerson(person:Person){
PERSONS.splice(PERSONS.indexOf(person), 1);
}
Then it should be 那应该是
function removePerson(person: Person): Promise<void> {
PERSONS.splice(PERSONS.indexOf(person), 1);
return Promise.resolve();
}
removePerson
is synchronous and the promise does nothing here. removePerson
是同步的,promise在这里什么也不做。 If there's no real reason for it to return a promise (eg the class implements existing API where removePerson
should return a promise), it may be changed to 如果没有真正的理由返回承诺(例如,该类实现了现有的API,
removePerson
应该返回承诺),则可以将其更改为
function removePerson(person: Person): void {
PERSONS.splice(PERSONS.indexOf(person), 1);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.