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

TypeScript错误:类型“void”不能分配给类型“boolean”

宗政颖逸
2023-03-14

我有一个打字错误:

类型“(element:Conversation)=>void”的参数不可赋给类型“(value:Conversations,index:number,obj:Conversation[])=>boolean”的参数。不能将“void”类型赋给“boolean”类型。

export class Conversation {
  constructor(
    public id: number,
    public dateTime: Date,
    public image: string,
    public isUnread: boolean,
    public title: string
  ) {}
}
// Mark as read also in data store
this.dataStore.data.find((element) => {
  if (element.id === conversationId) {
    element.isUnread = true;
    // Push the updated list of conversations into the observable stream
    this.observer.next(this.dataStore.data);
  }
});

这个错误是什么意思?提前谢谢你。

共有1个答案

屠锦
2023-03-14

这意味着您传递给this.datastore.data.find的回调函数应该返回一个布尔值,并且有3个参数,其中两个可以是可选的:

  • 值:对话
  • 索引:编号
  • obj:conversation[]

但是,您的回调函数不返回任何东西(返回void)。您应该传递一个具有正确返回值的回调函数:

this.dataStore.data.find((element, index, obj) => {
    // ...

    return true; // or false
});
this.dataStore.data.find(element => {
    // ...

    return true; // or false
});

实际上,这意味着对data中的每个项调用谓词,而谓词返回truedata中的第一个项是由find返回的值。

 类似资料:
  • 将以下代码转换为typescript时出错。 错误TS2339:属性样式在元素类型上不存在。 当我为如下相同的值分配所需值时 那么误差在元素上,那就是 错误TS2322:类型“Element | null”不可分配给类型“{style:any;}”。类型“null”不可分配给类型“{style:any;}”。

  • 这是我的水果 现在我正在导入另一个typescript文件中的fruit.ts。这是我的 当我做的时候 我得到一个错误: 类型“string”不能分配给类型“orange”“apple”“banana”“ 如何将字符串赋给自定义类型fruit的变量?

  • 问题内容: 在上面的代码示例中,我尝试通过使用参数表单击按钮来调用方法( fetchData )。 错误是 类型’void’不能分配给类型’((event:MouseEvent)= > void)| 未定义”。 问题答案: 在您的代码中,您正在 调用 该函数。函数返回。不能期望哪个功能。 创建一个调用fetchData的新函数,例如。 更多 这是TypeScript防止的非常常见的错误

  • 这是一个类中的函数,允许你双击和单击手势。它在Swift 2.3中运行良好,但在转换到Swift 3后,它抛出了一些错误。我怎么也想不明白。我评论了它们发生的地方。

  • 当我将值从主页传递到源页面时,它显示了一个错误:参数类型“Future”无法分配给参数类型“uluFunction()”。(argument_type_not_assignable[strong text]lib\home.dart:15) 我哪里做错了?? 主页- 下面的页面是我想使用主页值的地方-

  • 问题内容: 更新到xcode 8 beta 6后,出现错误 无法将’()-> Void’类型的值分配给’(()-> Void)!’ 在以下func块的第三行: 关于修复的任何建议? 问题答案: 看来您的问题与此有关: SE-0103 尝试将您的方法标头追踪到: 与往常一样,来自新Beta的诊断消息是如此混乱和不足,但是将您的媒体资源设置为非可选将为您提供更多有用的信息。