1
我想实现一个“类型开始搜索” - 像我的程序中的谷歌搜索功能。每种类型后,我的程序启动一个新的搜索线程并杀死旧的。Vala:如何异步等待x秒,然后执行一些操作然后
但是现在我想在搜索线程实际开始之前等待2秒。像这样的:
Countdown countdown = new Countdown();
countdown.set_action_after_x_secons(2sec, do_search);
private void SearchEntry_search_changed(){
countdown.reset_time(); //resets time to 2 seconds again
actual_search = SearchEntry.get_text();
}
private void do_search(){
// actual search here
}
我想避免产卵到许多无用的线程。在Vala中这样做的最佳方式是什么?
GtkSearchEntry已经有150毫秒的触发'搜索changed'的确切同样的原因,你想你的2S延迟我之前想象的内部延时。似乎没有办法调整延迟时间;我想你可以将它作为GNOME Bugzilla的功能请求吗? – andlabs
为了其他目的,基于时间的迭代的方法是使用'GLib.Timeout.add()'。 – andlabs
150毫秒的延迟对我的需求有点短。但超时似乎很有趣。 –