您能否告诉我如何使用 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
答案 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();
});