assert(any_child, "Uncaught (in promise): " .. reason)
end
+function PromisePrototype:then_(on_resolve, on_reject)
+ local promise = Promise()
+ promise.__on_resolve = on_resolve
+ promise.__on_reject = on_reject
+
+ self:__add_child(promise)
+
+ return promise
+end
+
+function PromisePrototype:catch(func)
+ local promise = Promise(function() end)
+ promise.__on_reject = func
+
+ self:__add_child(promise)
+
+ return promise
+end
+
function PromisePrototype:resolve(...)
assert(self.state == "pending")
end
end
-function PromisePrototype:then_(on_resolve, on_reject)
- local promise = Promise()
- promise.__on_resolve = on_resolve
- promise.__on_reject = on_reject
-
- self:__add_child(promise)
-
- return promise
-end
-
-function PromisePrototype:catch(func)
- local promise = Promise(function() end)
- promise.__on_reject = func
-
- self:__add_child(promise)
-
- return promise
-end
-
Promise = setmetatable({}, {
__call = function(_, resolver)
local promise = {