javascript - 从 array.splice 返回 void

标签 javascript angular typescript

刚开始学习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/

相关文章:

javascript - 导入的 typescript 类的实例化似乎不起作用

javascript - 单击类时使数字递增

jquery - JsPlumb 与 Angular2

html - 如何将数据从一个组件传递到另一个组件

angular - 无法分配给引用或变量! (与链接的情况不同)

node.js - "as"关键字有什么作用?

javascript - 当组件可见时如何触发事件。必须是独立的

php - 在 javascript 中公开 MySQL 表名称是否存在安全风险?

javascript - (PERCY) 警告 : skipping visual tests. 未提供 PERCY_TOKEN

angular - 如何将数据传递给 Angular Material 对话框 2