【发布时间】:2021-10-01 08:52:01
【问题描述】:
我正在使用Google's promises 库,我想创建没有任何类型的承诺(因为我不需要任何类型)。
但是,我不得不选择某种类型:
let promise = Promise<SomeType>.pending()
当我需要承诺只是为了异步流和异常捕获,但我不想从功能?
例如,某些类型的唯一有效值为nil?
我在多个地方都遇到过这个问题,到目前为止,我发现的唯一解决方法是始终提供非泛型替代方案,但这会变得非常乏味并导致重复代码。
【问题讨论】:
-
如果你想要一个不会返回任何东西的 Promise,那么你可以使用
Never。 nshipster.com/never -
我认为这个 Q&A 会浪费时间,除非您使用该库进行标记,或者提供一些我们更多人会熟悉的案例。我在想 Fogmeister 所说的,或
Void,但我不知道这是否会对你有所帮助。 -
Never 是 0 有效值的类型,所以它永远不能被创建。 void 类型恰好有 1 个可能的值,因此用于使函数成为过程(不返回任何有用的值,它们返回 void)
-
啊,我认为@Shadowrun 在这里是正确的。您可能想要 Void 而不是 Never。
-
@Shadowrun Void 是我需要的,我不知道如何用谷歌搜索它:)。谢谢!如果你写出来,我很乐意为你挑选答案:)。