目的是什么?()=>函数参数中的void

时间:2018-04-15 19:56:23

标签: javascript flowtype

Facebook's open source F8 Application

中存在以下功能
async function configureStore(onComplete: ?() => void) {
  // function body
}

configureStore参数中,onComplete: ?() => void的目的是什么?

1 个答案:

答案 0 :(得分:2)

这是Flow语法,表示configureStore采用可选的回调参数onComplete,可以是null

但是,此文件中缺少// @flow注释。使用Flow类型检查的文件应该在任何代码之前在文件顶部包含此注释。

此注释有两个部分:

1。 () => void表示流函数类型。在上面的例子中,onComplete参数是一个没有参数的函数,返回类型为void

2. ?表示Maybe类型。在上述情况下,onComplete是可选参数。

  

也许类型接受提供的类型以及nullundefined

注意:订单很重要。如果?:之前改为,(即:onComplete?:),则函数将接受提供的类型和undefined,但不接受null

<强>参考: