找回密码
 立即注册
首页 编程领域 编程板块 javascript——客户端的定时器。Firebase+角度

Java javascript——客户端的定时器。Firebase+角度

2023-2-22 10:50:29 评论(0)
本帖最后由 几几开 于 2023-2-22 10:52 编辑

我在网上拍卖。因此,需要一个计时器,该计时器在时间到期后将项目的状态更改为非活动状态。在一名网络工作者的帮助下,我成功地做到了这一点。我将结束日期(我从firestore获取)与当前日期进行检查,如果它们匹配,则更改状态。但不幸的是,它只能通过按下页面上启动webworker的按钮来工作。例如,如果我更改为onload,那么ngOnInit没有时间从firestore接收数据,因此不会执行webworker。有没有办法帮助解决这个问题?

我知道firebase有一个叫做“功能”的东西,但不幸的是它是付费的。



组成部分ts
  1. ngOnInit(){
  2. this.initializeWorker();
  3. }

  4. timeWorker(){
  5.     if(this.products.status==='active'){
  6.       this.worker.postMessage(this.products.closureDate);

  7.       this.worker.addEventListener('message', ({data})=>{
  8.         this.checkStatus(data);
  9.       })
  10.     }
  11.   }

  12.   initializeWorker(){
  13.     if (typeof Worker !== 'undefined') {
  14.       // Create a new
  15.       this.worker = new Worker(new URL('./random.worker', import.meta.url));
  16.       this.worker.postMessage('');
  17.     } else {
  18.       // Web workers are not supported in this environment.
  19.       // You should add a fallback so that your program still executes correctly.
  20.     }
  21.   }
复制代码
工人ts
  1. addEventListener('message', ({ data }) => {
  2.     console.log("data:" + data);
  3.     const response = endUpAuc(data);
  4.     postMessage(response);
  5. });

  6. function endUpAuc(ps) {
  7.     console.log("ps: "+ps);
  8.     var cDate = new Date(ps);
  9.     console.log("cdate: "+cDate)
  10.     if(cDate.getTime()>new Date().getTime())
  11.     {
  12.       console.log(cDate.getTime());
  13.       console.log(new Date().getTime());
  14.       console.log("active");
  15.       return "active";
  16.     }
  17.     else if(cDate.getTime()<=new Date().getTime()){
  18.       console.log("inactive");
  19.       //this.updateStatus("inactive");
  20.       return "inactive";
  21.       //this.router.navigate(['/results'])
  22.     }
  23. }
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

使用道具 举报

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们(3513994353@qq.com)。
您需要登录后才可以回帖 登录 | 立即注册
楼主
几几开

关注0

粉丝0

帖子27

最新动态