comparison util/promise.lua @ 11486:78d843faaffc

util.promise: Switch order of parameters to join() This saves awkward fiddlery with varargs and also echoes the signature of pcall/xpcall.
author Matthew Wild <mwild1@gmail.com>
date Thu, 25 Mar 2021 15:08:22 +0000
parents 7d42ed3a8a40
children 073e53b72792
comparison
equal deleted inserted replaced
11485:7d42ed3a8a40 11486:78d843faaffc
144 resolve(results); 144 resolve(results);
145 end 145 end
146 end); 146 end);
147 end 147 end
148 148
149 local function join(...) 149 local function join(handler, ...)
150 local promises, n = { ... }, select("#", ...); 150 local promises, n = { ... }, select("#", ...);
151 local handler = promises[n];
152 promises[n] = nil;
153 return all(promises):next(function (results) 151 return all(promises):next(function (results)
154 return handler(unpack(results, 1, n - 1)); 152 return handler(unpack(results, 1, n));
155 end); 153 end);
156 end 154 end
157 155
158 local function race(promises) 156 local function race(promises)
159 return new(function (resolve, reject) 157 return new(function (resolve, reject)