aboutsummaryrefslogtreecommitdiff
path: root/promises.lua
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-08-06 22:30:31 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-08-06 22:30:31 +0200
commitd766849992a1dbb24874d1a3a104168139390dc4 (patch)
treee420ffae5b3b176f6341270826facba1129b16cb /promises.lua
parent6b3249e07450d8cf08429cec18aedd729d8d4451 (diff)
downloadlua_async-d766849992a1dbb24874d1a3a104168139390dc4.tar.xz
Document promises
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 = {