Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 云功能Firestore触发器-“;无法读取属性';事件类型';“未定义”的定义;_Javascript_Firebase_Google Cloud Firestore_Google Cloud Functions - Fatal编程技术网

Javascript 云功能Firestore触发器-“;无法读取属性';事件类型';“未定义”的定义;

Javascript 云功能Firestore触发器-“;无法读取属性';事件类型';“未定义”的定义;,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,我正在尝试编写一个云函数,当一个新用户添加到usersFirestore表时,该函数将验证用户的电子邮件。(.)我有这个打字脚本代码: exports.validateEmail=functions.firestore .document('users/{userId}') .onCreate(异步(快照、上下文)=>{ const email=snapshot.get('email'); console.log(电子邮件);//正确记录电子邮件 等待验证邮件(电子邮件); }); export

我正在尝试编写一个云函数,当一个新用户添加到
users
Firestore表时,该函数将验证用户的电子邮件。(.)我有这个打字脚本代码:

exports.validateEmail=functions.firestore
.document('users/{userId}')
.onCreate(异步(快照、上下文)=>{
const email=snapshot.get('email');
console.log(电子邮件);//正确记录电子邮件
等待验证邮件(电子邮件);
});
export const validateEmail=async(电子邮件:字符串)=>{
log(`Validating email:${email}.`);//代码未到达此行
//更多代码
};
但是,我得到了一个错误:

“无法读取未定义的属性'eventType'”

还有一个类似的问题,尽管它指的是未定义的“匹配”,并且提议的解决方案都不适用于我

我通过在一个新的项目目录中运行
firebase init
,选择我的firebase项目,选择函数,选择使用npm安装依赖项,以及选择TypeScript来设置云函数。以下是my package.json的相关部分:

“引擎”:{
“节点”:“10”
},
“main”:“lib/index.js”,
“依赖项”:{
“firebase管理员”:“^9.2.0”,
“firebase功能”:“^3.11.0”,
},
“依赖性”:{
“firebase功能测试”:“^0.2.0”,
“tslint”:“^5.12.0”,
“类型脚本”:“^3.8.0”
}
下面是我的tsconfig.json的一部分:

"compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017"
}

有人知道此处未定义的内容吗?即,
eventType
的属性是什么,我如何修复它?

您正在重新定义
validateEmail
函数。您只需给实用程序函数另一个名称,该名称与第一个导出的云函数的名称不冲突。

请编辑该问题,以明确您为设置该函数所做的操作,包括您的package.json以及您可能对其所做的任何更改。你的问题中应该有足够的信息,以便任何人都可以重现这个问题。我认为你的问题是,你没有将异步/等待代码转换为javasciptanks@DougStevenson,我更新了帖子。@JTejedor,我确实在index.js中看到,异步/等待在与tsc转换后仍然存在,但是我认为节点10支持async/await?您阅读了我提供给您的链接了吗??这个问题明确地解释了为什么不能在firebase函数中使用async/wait,它与firebase的工作方式有关。。。