public async int call_async () {
    return 1;
}
call_async.begin ((obj, res) => {
    var ret = call_async.end (res);
});
To call an asynchronous functions from a synchronous context, use the begin method and pass a callback to receive the result. The two arguments are:
obj is a GLib.Object if this call was defined in a classres is a GLib.AsyncResult holding the result of the asynchronous operationThe end method extract the result of the operation.