Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用流类型链接函数?_Javascript_Firebase_Google Cloud Functions_Flowtype - Fatal编程技术网

Javascript 如何使用流类型链接函数?

Javascript 如何使用流类型链接函数?,javascript,firebase,google-cloud-functions,flowtype,Javascript,Firebase,Google Cloud Functions,Flowtype,我正在尝试为firebase函数模块创建基本的流类型定义 此模块的用例示例如下: // @flow import * as functions from 'firebase-functions' import create from './tasks/create' const { firestore } = functions exports.createCharacter = firestore .document('characters/{characterID}') .onC

我正在尝试为
firebase函数
模块创建基本的
流类型定义

此模块的用例示例如下:

// @flow
import * as functions from 'firebase-functions'
import create from './tasks/create'

const { firestore } = functions

exports.createCharacter = firestore
  .document('characters/{characterID}')
  .onCreate((snapshot, context) => create(snapshot, context))
到目前为止,我已经在
flow-typed/firebase-functions.js

// @flow

declare module 'firebase-functions' {
  declare class firestore {
    static document(path: string): void;
  }
}

我现在被困在
上。一旦创建(
从文档链接的部分,flow就不允许我扩展
文档
而不是
静态文档。opnCreate
是有效的。

在流类型库代码中,您告诉flow
文档
函数返回void

然后,您的应用程序代码使用的是之前声明为void的函数的结果。我怀疑这就是编译器抱怨的原因:在null对象上调用
onCreate
不起作用(或者至少影响类型系统)

如果您这样做会发生什么:
静态文档(路径:string):firestore
。因为这就是(大概:我不知道Firebase)这里发生的事情

当然,您现在需要在创建时声明函数
onCreate

同样值得注意的是,对于像firebase这样的Javascript模块,您不需要自己编写流类型化声明(除非您愿意/需要)。
flow-typed安装firebase@5.x.x
应该为您安装一个社区创建(或生成)的FlowType文件