Comparison

util/async.lua @ 10411:db2a06b9ff98

Merge 0.11->trunk
author Kim Alvefur <zash@zash.se>
date Sat, 16 Nov 2019 16:52:31 +0100
parent 10291:7b48b620164c
child 10928:79faf5b98395
comparison
equal deleted inserted replaced
10410:659b577f280c 10411:db2a06b9ff98
244 244
245 local function ready() 245 local function ready()
246 return pcall(checkthread); 246 return pcall(checkthread);
247 end 247 end
248 248
249 local function wait(promise)
250 local async_wait, async_done = waiter();
251 local ret, err = nil, nil;
252 promise:next(
253 function (r) ret = r; end,
254 function (e) err = e; end)
255 :finally(async_done);
256 async_wait();
257 if ret then
258 return ret;
259 else
260 return nil, err;
261 end
262 end
263
249 return { 264 return {
250 ready = ready; 265 ready = ready;
251 waiter = waiter; 266 waiter = waiter;
252 guarder = guarder; 267 guarder = guarder;
253 runner = runner; 268 runner = runner;
269 wait = wait;
254 }; 270 };