当前位置: 首页 > 知识库问答 >
问题:

类型复制promise返回类型异步函数

齐英朗
2023-03-14

我有这个异步函数,并试图返回一个对象或null。

但是我在定义类型时出错了。

如何定义这种数据类型?

const checkIsValidConnection = async (number: string): Promise<string | null> => {
  const defaultConnection = await GetDefaultConnection();

  const wbot = getWbot(defaultConnection.id);

  const contactId = await wbot.getNumberId(`${number}`);

  return contactId;
};

export default checkIsValidConnection;

类型“ContactId | null”不可分配给类型“string | null”
类型“ContactId”不能分配给类型“string”。

共有1个答案

邵君植
2023-03-14

我相信你在和我一起工作https://github.com/pedroslopez/whatsapp-web.js/blob/master/index.d.ts

它指示WAWEBJS. ContamtID为以下接口。

interface ContactId { server: string, user: string, _serialized: string}

您应该将promise的返回类型更新到此界面或坚持使用WAWEBJS。联系人ID

 类似资料:
  • 我有一个匿名函数,如下所示: 我想指定cb必须返回一个布尔值,但我是一个打字稿新手,不知道我是否可以(或者即使我这样做或不这样做会对解析器产生影响)。 我该怎么做?

  • 问题内容: 我有一个模块分开的应用程序。有几个实体和CSV模块。CSV模块仅支持struct(Entity),但我想使CSV模块可与任何类型的实体一起使用。现在,它的工作方式如下:Csv模块从通道接收数据并将其严格转换为struct。我如何实现动态返回类型,因此它可以与任何类型的Entity一起使用,而不仅限于 问题答案: 快速/肮脏的解决方案: 返回接口{},但是您最终欺骗了编译器,而类型检查的

  • 如果我有以下代码 首先,这甚至是可能的,因为它编译得很好。但是我不能使用中的方法执行操作: makeCan是否不同时返回Can和PromotionalCan?如果是这样,当返回PromotionalCan时,如何对变量进行操作?谢谢 编辑:PromotionalCan继承自Can,第二种方法是在PromotionalCan中

  • 我想通过TypeScript泛型定义函数返回类型。所以R可以是我将定义的任何东西。 <代码>。。。许诺 错误:(29,9)TS2322:类型“字符串”不可分配给类型“R”。“字符串”可分配给类型“R”的约束,但“R”可以用约束“{}”的不同子类型实例化。

  • 我有一个任务,我们要创造一个石头,纸,剪刀的游戏。它指定我们必须创建一个抽象的“工具”类,其中有三个子类:“ToolRock”、“ToolPaper”、“ToolScissors”。抽象类应该有一个“+getFeagnet():tool”函数(用斜体写成)。 我的假设是做一个像这样的抽象函数: RockTool类被指定为具有函数“+get弱点():tool”(不是用斜体写的),我的想法是创建一个覆