【问题标题】:Async arrow functions return type异步箭头函数返回类型
【发布时间】:2020-05-09 20:37:09
【问题描述】:

我正在尝试使用异步箭头函数作为另一个函数的回调。这里从箭头函数返回的值没有意义,所以我什么都不返回。但是,由于我将它用作异步函数,我是否需要从箭头函数返回一个值或 Promise.resolve("somevalue") 。

当我在没有返回任何值的情况下测试下面的代码时,它起作用了,但我不确定它是否正确。

const ack = async (result) => {
  await this.service.updateObject(result);
} // No return is given

方法 ack 被称为对另一个函数的回调。

【问题讨论】:

  • 你不需要做任何事情,默认情况下async 函数返回一个解析为未定义的承诺。

标签: javascript ecmascript-6 async-await


【解决方案1】:

不,你目前正在做的一切都很好。 async 函数会自动返回 Promises,这些 Promise 会解析为函数中 returned 的任何内容。如果没有显式返回,则 Promise 解析为 undefined,就像调用不返回任何内容的函数会导致返回 undefined

因此,如果您只需要函数来某事,但不需要函数的使用者使用可能的结果,请随意在函数内部使用await不返回任何东西。这是一种常见的模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 2017-08-15
    • 2019-08-07
    • 2021-07-16
    相关资源
    最近更新 更多