Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何使用Tokio以秒为单位在每个周期或间隔触发函数?_Loops_Rust_Intervals_Tokio - Fatal编程技术网

Loops 如何使用Tokio以秒为单位在每个周期或间隔触发函数?

Loops 如何使用Tokio以秒为单位在每个周期或间隔触发函数?,loops,rust,intervals,tokio,Loops,Rust,Intervals,Tokio,在Node.js中,我可以设置触发某个事件的时间间隔 函数intervalFunc(){ log('whelp,再次触发!'); } setInterval(intervalFunc,1500); 然而,Tokio间隔的界面要复杂一些。这似乎与区间的字面定义有关,而不是在区间调用函数,它只是暂停线程直到时间过去(使用。wait) 东京有没有一个“每x秒”调用一个函数之类的原语?如果没有,有没有一个成语已经出现了这样做 我只需要在一个循环间隔上运行一个函数。。。我也不关心其他线程。这只是Toki

在Node.js中,我可以设置触发某个事件的时间间隔

函数intervalFunc(){
log('whelp,再次触发!');
}
setInterval(intervalFunc,1500);
然而,Tokio间隔的界面要复杂一些。这似乎与区间的字面定义有关,而不是在区间调用函数,它只是暂停线程直到时间过去(使用
。wait

东京有没有一个“每x秒”调用一个函数之类的原语?如果没有,有没有一个成语已经出现了这样做

我只需要在一个循环间隔上运行一个函数。。。我也不关心其他线程。这只是Tokio事件循环中的一个函数。

用于创建一个可以重复勾选的值。在的主体内执行勾选并调用函数以创建流:

use futures::{stream,streamxt};//0.3.13
使用std::time::{Duration,Instant};
使用tokio::time;//1.3.0
#[tokio::main]
异步fn main(){
让间隔=时间::间隔(持续时间::从_millis(10));
让永远=流::展开(间隔,|多间隔|异步{
interval.tick()等待;
做某事等待;
有些(((),区间))
});
让现在=瞬间::现在();
永远。为每个人(| |异步{})。等待;
}
异步fn do_something(){
eprintln!(“做点什么”);
}
您还可以生成一个Tokio任务来永远做一些事情:

使用std::time::Duration;
使用tokio::{task,time};//1.3.0
#[tokio::main]
异步fn main(){
让永远=任务::繁殖(异步{
设mut interval=time::interval(持续时间::from_millis(10));
环路{
interval.tick()等待;
做某事等待;
}
});
永远等待;
}
另见:

用于创建可重复勾选的值。在的主体内执行勾选并调用函数以创建流:

use futures::{stream,streamxt};//0.3.13
使用std::time::{Duration,Instant};
使用tokio::time;//1.3.0
#[tokio::main]
异步fn main(){
让间隔=时间::间隔(持续时间::从_millis(10));
让永远=流::展开(间隔,|多间隔|异步{
interval.tick()等待;
做某事等待;
有些(((),区间))
});
让现在=瞬间::现在();
永远。为每个人(| |异步{})。等待;
}
异步fn do_something(){
eprintln!(“做点什么”);
}
您还可以生成一个Tokio任务来永远做一些事情:

使用std::time::Duration;
使用tokio::{task,time};//1.3.0
#[tokio::main]
异步fn main(){
让永远=任务::繁殖(异步{
设mut interval=time::interval(持续时间::from_millis(10));
环路{
interval.tick()等待;
做某事等待;
}
});
永远等待;
}
另见:


这甚至可以做什么:
用于每个(| |异步{})@EvanCarroll伙计,真让人困惑。。你不能用
。重复
?@EvanCarroll
永远重复。等待
而不是
超时
。我认为如果我们将两者都减少到无限循环,而不是10次循环,我们可以更清楚地演示这两件事,并删除了与您试图显示的内容不相关的已用计算。只有几点(我投了赞成票并将其标记为选中)。我还问了一个后续问题,这甚至可以做什么:
for|each(| | async{})@EvanCarroll伙计,真让人困惑。。你不能用
。重复
?@EvanCarroll
永远重复。等待
而不是
超时
。我认为如果我们将两者都减少到无限循环,而不是10次循环,我们可以更清楚地演示这两件事,并删除了与您试图显示的内容不相关的已用计算。只有几点(我投了赞成票并将其标记为选中)。我还要求跟进,,