【发布时间】:2020-12-02 07:05:43
【问题描述】:
我正在尝试做一个异步闭包,因为我在里面调用了另一个异步函数。有些我正在尝试做这样的事情:
void connect_on_button_click () {
some_button.connect (() => {
var val = yield some_async_function ();
// Do something with the value...
});
}
但是 vala 编译器会报错。 所以目前我的解决方案是传递一个定义的异步函数,例如:
async void on_button_click () {
var val = yield some_async_function ();
// Do something with the value...
}
void connect_on_button_click () {
some_button.connect (on_button_click);
}
但我想知道是否可以将闭包标记为异步,这样我就不必创建另一个函数?
【问题讨论】:
标签: asynchronous closures gtk vala