在10 AM Rxjs / timer上设置定时器

时间:2018-03-18 06:31:42

标签: javascript angular typescript rxjs observable

您能否告诉我如何使用 final WebSocketOneWayTest client = (WebSocketOneWayTest)connect.get(key); task = new TimerTask() { @Override public void run() { TestDatabean.getTestDatabean().getData(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 在准确时间内运行方法?我希望初始延迟为rxjs/timer,之后,它应该像1 min那样运行。但我无法做到这一点。我在下面做了。但是在延迟1分钟后每2分钟发射一次。但我需要如上所述的功能。任何线索或者你能告诉我另一种方法吗?

10 AM

1 个答案:

答案 0 :(得分:1)

你可以每分钟(或你需要的任何精度)继续运行计时器,并在上午10点触发它。 类似的东西:

import { timer } from 'rxjs/observable/timer';

firstRunExecuted:boolean = false;

  timer(60000).subscribe(val => {//schedule Notification
     if(!this.firstRunExecuted)
       {
          myMethod();
          this.firstRunExecuted = true;
       }
      else if(checkIfIts10AM())
          myMethod();
      });

OP的反馈

 timer(60000, 60000).subscribe(val => {//schedule Notification
              const hours = moment().format("H");
              if (hours == '10') this.scheduleNotification();
       });