diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2021-08-06 22:30:31 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2021-08-06 22:30:31 +0200 |
commit | d766849992a1dbb24874d1a3a104168139390dc4 (patch) | |
tree | e420ffae5b3b176f6341270826facba1129b16cb /promises.lua | |
parent | 6b3249e07450d8cf08429cec18aedd729d8d4451 (diff) | |
download | lua_async-d766849992a1dbb24874d1a3a104168139390dc4.tar.xz |
Document promises
Diffstat (limited to 'promises.lua')
-rw-r--r-- | promises.lua | 38 |
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 = { |