For Promise.all(), when some promises are resolved, and some rejected, the catch handler receives all values.
This makes it really hard to tell which are errors and which aren't.
local Promise = require 'promise'
local promise1 = Promise.new()
local promise2 = Promise.new()
Promise.all(promise1, promise2)
:catch(function(error)
print(error[1])
print(error[2])
end)
promise1:resolve(123)
promise2:reject("GenericError")
Promise.update()
Outputs this:
I would like to have: