meteor - 返回表达式中不存在最佳通用类型

标签 meteor typescript angular meteor-collection2 angular2-meteor

当我使用 Collection2 时在 angular2-meteor 项目中,这些代码来自 demo总是在终端给我警告:

No best common type exists among return expressions.

如何改进代码?谢谢

{
  createdAt: {
    type: Date,
    autoValue: function() {
      if (this.isInsert) {
        return new Date();
      } else if (this.isUpsert) {
        return {$setOnInsert: new Date()};
      } else {
        this.unset();
      }
    }
  }
}

最佳答案

由于每个返回分支都需要一种日期类型,因此您必须为每个 if/else 分支返回一个日期类型,或者您可以创建一个返回两种不同类型的联合。

无论哪种情况,如果类型为 Date,您都可以为第三个条件返回 null。这在 typescript 中有效。

autoValue: function() : Date|Object  {
    if (this.isInsert) {
        return new Date();
    } else if (this.isUpsert) {
        return {$setOnInsert: new Date()};
    } else {
        this.unset();
        return null;
    }
}

关于meteor - 返回表达式中不存在最佳通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36231334/

相关文章:

javascript - Meteor 中集合未定义错误

javascript - 如何使用 meteorjs 从集合中创建文本文件并将其保存在 SD 中

typescript - 在 TypeScript 中扩展和接口(interface)并将其设置为等于某些东西(泛型)?

Angular 5 订阅和取消订阅 Observable

c# - 将 ASP.NET Core 2.1 和 Angular 6 项目发布到 Azure

unit-testing - Angular 2 TestModuleMetadata 没有 EntryComponents 属性

sorting - 是否可以只对集合进行一次排序,然后尽管 react 性仍然保持该顺序不变?

javascript - 如何检查快速监听回调中的错误?

Angular Universal 在 Google 页面速度洞察上没有按预期提供性能改进

javascript - Meteor-Now 部署错误 "sh: meteor: not found"