Moment: isBefore方法是不确定的

创建于 2018-04-06  ·  5评论  ·  资料来源: moment/moment

我在处理需要禁用某些日期范围的日历时发现了这一点。 有时它一成不变。

复制:

  1. 打开chrome开发工具,输入moment().isBefore(moment())
    一遍又一遍地运行它,它应该始终是false ,但有时会显示true 。 使用isAfter方法似乎不会发生这种情况。 以下是屏幕截图。

image

所有5条评论

看起来isBefore的行为正确,但是有时会创建两个moment()对象,而第二个对象的日期更早。 这是返回不同结果的检查:
https://github.com/moment/moment/blob/develop/src/lib/moment/compare.js#L26

我明白了,谢谢您调查并回复我!

我认为这取决于创建时刻的确切毫秒数。 第二个是在第一个之后创建的,感觉就像浏览器错误一样。

关于此主题,这里有一个更广泛的对话: https :

第二个是在第一个之后创建的,感觉就像浏览器错误一样。

对我来说很好。

moment().isBefore(moment())与:
somethingThrowingAnError().method(somethingWithSideEffects())
甚至:
somethingReturningNull().method(somethingWithSideEffects())

当抛出错误/不可能调用该方法时,您不会期望或希望调用somethingWithSideEffects()

这么说: first _必须在second之前被调用:
first().method(second())

@ispacowanguitar有时会在同一毫秒内创建时刻,有时则不会。 这没东西看。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

paulyoung picture paulyoung  ·  3评论

alvarotrigo picture alvarotrigo  ·  3评论

ninigix picture ninigix  ·  3评论

Shoroh picture Shoroh  ·  3评论

dogukankotan picture dogukankotan  ·  3评论