You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RxJS timeout()对部分日期/时间戳失效问题求助

RxJS timeout() 操作符日期兼容性异常问题

我来帮你拆解这个timeout()操作符遇到的特殊问题:该操作符针对部分未来日期会抛出错误,部分特定日期或时间戳无法正常触发预期的超时逻辑。

问题场景复现

测试中发现两种截然不同的表现:

  • 时间戳 1609353000000(对应UTC时间2020年12月30日周三 18:30:00):使用此日期时,timeout()无法正常工作,会直接抛出错误
  • 时间戳 1924885800000(对应UTC时间2030年12月30日周一 18:30:00):使用此日期时,timeout()可以按预期正常执行

测试基准的当前日期为:2020年3月19日周四 14:40:58(时间戳:1584628858530)

测试代码

你可以通过替换时间戳来复现两种场景:

import { interval } from 'rxjs';
import { timeout } from 'rxjs/operators';

const seconds = interval(1000);
seconds.pipe(
  // 当前测试基准日期:2020年3月19日周四 14:40:58 → 时间戳 1584628858530
  // 异常场景时间戳:1609353000000 → UTC 2020年12月30日周三 18:30:00,无法正常工作
  // 正常场景时间戳:1924885800000 → UTC 2030年12月30日周一 18:30:00,可正常工作
  timeout(new Date(1609353000000)), // 替换此处时间戳即可切换场景
)
.subscribe(
  value => console.log(value),
  err => console.log(err)
);

你可以参考RxJS官方文档中的示例2,进一步理解timeout()接收日期类型参数的底层逻辑。

内容的提问来源于stack exchange,提问作者manu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 23:02:35