aboutsummaryrefslogtreecommitdiff
path: root/promises.lua
diff options
context:
space:
mode:
Diffstat (limited to 'promises.lua')
-rw-r--r--promises.lua38
1 files changed, 19 insertions, 19 deletions
diff --git a/promises.lua b/promises.lua
index 50189ce..97cd20e 100644
--- a/promises.lua
+++ b/promises.lua
@@ -44,6 +44,25 @@ function PromisePrototype:__reject_raw(reason)
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")
@@ -64,25 +83,6 @@ function PromisePrototype:reject(reason)
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 = {