Cloud Functions-TypeScript-“对象可能是‘未定义’.ts(2532)”

2023-11-29

这是我的代码:

export const newPost = functions.firestore
.document('post/{postId}/')
.onCreate((snap, context) => {

    const postData = snap.data()
    const authorId = postData.uid    
});

我收到 postData 可能未定义的错误,解决此问题的方法是检查 postData != null ,然后在 {} 内使用 postData 对象。

这是文档中的代码:

exports.createUser = functions.firestore
.document('users/{userId}')
.onCreate((snap, context) => {
  // Get an object representing the document
  // e.g. {'name': 'Marie', 'age': 66}
  const newValue = snap.data();

  // access a particular field as you would any JS property
  const name = newValue.name;

  // perform desired operations ...
});

这里没有提到可能存在未定义的对象newValue,而且通过阅读许多带有firestore的云函数示例我还没有看到人们在使用它之前会检查是否.data() != null


您的 TypeScript 配置几乎肯定启用了严格的类型检查,当您尝试访问可能为 null 或未定义的属性时,这会向您发出此警告。检查你的 tsconfig.json 并查找"strict": true"在编译器选项中。 TypeScript 绑定DataSnapshot.data()API 表示 data() 的返回值可以是任何值(包括 null 或未定义),而 TypeScript 强制您在编译时正确处理这一事实,以便您的代码不会在运行时崩溃。

您正在查看的示例代码是纯 JavaScript,没有任何类型检查。假设快照不会为空或未定义。如果您发现这令人困惑或有问题,请使用文档页面顶部的“发送反馈”链接来解释让您感到困惑的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cloud Functions-TypeScript-“对象可能是‘未定义’.ts(2532)” 的相关文章

随机推荐

  • 克隆的 Select2 没有响应

    我正在尝试克隆包含 select2 工具的行 当我使用 jQuery 克隆该行时 克隆的 select2 没有响应 在下面给出的图像中 原始的第一个 select2 工作正常 但克隆的第二个和第三个 select2 没有响应 代码片段 do
  • 另一个快速排序 stackoverflow

    所以我一直在尝试自己实现一个快速排序 只是为了从中学习一些东西 但它也生成了一个stackoverflowException 但我似乎找不到原因是什么 有人可以给我线索吗 public void Partition List
  • 更改矩阵/数据框中的行顺序

    我需要更改 反转数据框中的行 不是转置数据 而是将底部行移动到顶部等等 如果数据框是 1 2 3 4 5 6 7 8 9 我需要转换为 7 8 9 4 5 6 1 2 3 我读过关于sort 但我认为这不是我需要的 或者我找不到方法 可能有
  • 如何在cygwin上运行ELF二进制文件

    我是 cygwin 的新手 但遇到了一些麻烦 我有 Linux ELF 编译的二进制文件 有没有办法在 cygwin 下以简单的方式午餐它 例如 Windows 二进制文件 a exe from https www cygwin com C
  • 在 C# 中的 foreach 内使用带有 lambda 表达式的三元运算符

    我正在尝试学习如何在 C 中正确使用 lambda 表达式 但我遇到了这个问题 我有一个如下定义的布尔值数组 public bool worldState new bool 25 现在 在给它赋值之后 我想循环遍历它 并在布尔为 true
  • 为什么要进行这种类型的铸造?

    我正在使用意图来启动另一个活动 并使我的意图携带一些数据作为新创建的活动的额外数据 我正在按照教程来做到这一点 该数据实际上是从层次结构中第一个活动的文本字段中读取的 并作为额外数据传送到另一个活动 所以我的代码将是这样的 Make the
  • 在 couchdb 视图中合并多个文档

    在 couchdb 中 我需要以以下格式表示一些数据 即引用数组内其他文档的外部容器 我想将这些文档分开 因为我需要单独管理它们的冲突 id 1 type container items 1 2 3 id 2 value a type it
  • Android WebView 和网络安全配置

    我正在 Android 8 26 API Oreo 上进行开发 并且使用android webkit WebView在我的应用程序中 当我用我的加载页面时 我会实现 安全网络连接 WebView 换句话说 我会避免中间人问题和自签名证书 为
  • Firestore:条件查询未执行

    这会记录快照 const db firebase firestore const collection db collection companies company meetings let query collection where
  • 图像处理,用Python? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我最近遇到一个问题 至少需
  • PHP 替换 EM Dash REGEX

    我正在尝试替换这个角色http www fileformat info info unicode char 2014 index htm定期破折号 这就是我所拥有的 但我似乎无法让它工作 dataold 9am 5pm from a ms
  • 当前没有打开 SSH 隧道。目标是否能够接受 ssh 密钥以供使用

    我在 GCP 上创建了一个 kubernetes 集群 其中的虚拟机实例具有 ubuntu 映像 我已经部署了一个 postgres 有状态集 但是当我尝试检查 pod 的日志时 我最终看到了以下内容 kubectl logs pgset
  • Joomla - 重写 getItem 方法

    我想覆盖文件 administrator components com content models article php 中找到的方法 getItem line 257 public function getItem pk null 我
  • 如何在 Java 中获取特定日期对象的年中日期? [复制]

    这个问题在这里已经有答案了 假设您有一个包含日 月和年值的 Date 对象 我想知道今天是哪一天 我的意思是 3 月 5 日是一年中的 65 号 或者说 1 月 15 日就是 15 日 请不要有乔达时间 当前项目中未使用 您可以使用Cale
  • 如何使用 Java 获取当前打开的窗口/进程的列表?

    有谁知道如何使用 Java 获取本地计算机当前打开的窗口或进程 我想做的是 列出当前打开的任务 打开的窗口或进程 就像在 Windows 任务管理器中一样 但使用多平台方法 如果可能 仅使用 Java 这是从命令解析进程列表的另一种方法 p
  • 强制依赖返回类型必须实现类型类

    我试图强制执行一条规则 即类型类的 依赖 返回类型本身必须实现类型类 所以当用户实现IsVec下面的类型类 他们还必须确保返回值getElem方法实现另一个类型类 IsVecElem 我尝试让这项工作看起来像这样 A typeclass f
  • 如果我在两个模块中注册两个具有相同名称的不同指令,最后一个注册会获胜吗?

    在 AngularJS 中 如果我在两个模块中注册两个具有相同名称的不同指令 最后一个注册会获胜吗 IIUC Angular 模块不提供命名空间 另外 Angular 中的模块除了提供方便的注入器配置分组之外还提供其他功能吗 换句话说 你能
  • c# webcontrol - 如何动态加载 html?

    我想使用 c 的 webbrowser 组件加载 HTML 我查阅了 MSDN 但找不到任何可以将字符串 HTML 加载到网络浏览器组件中的内容 我只看到 navigator 方法来加载 URL 所以 如果可能的话我想要以下内容 Strin
  • 即使使用 .loc 后,Pandas 仍然收到SettingWithCopyWarning

    首先 我尝试编写一些如下所示的代码 import numpy as np import pandas as pd np random seed 2016 train pd DataFrame np random choice np nan
  • Cloud Functions-TypeScript-“对象可能是‘未定义’.ts(2532)”

    这是我的代码 export const newPost functions firestore document post postId onCreate snap context gt const postData snap data c