Comments (1)
I think that making this change could make sense. Personally, I wouldn't write a function that can return a Promise sometimes and other times a plain value. In that case, having the error in place would alert me of a potential mistake I made. On the other hand, I could see how arrays like this could be created, and since the Promise library is used by a large number of people with many differing views, I think it makes sense to be more flexible.
Knowing that JS Promises handle this case differently than we do means that many people who use the library (yourself included, it seems!) might expect it to just work the same way, so eliminating any unnecessary surprises seems like a good thing.
There are two other functions where this error is emitted, Promise.race
and Promise.allSettled
. I checked how JS handles Promise.allSettled
and it reports plain values as "fulfilled". So, we should likely also follow suit and report them as "Resolved" rather than erroring.
For Promise.race
, my initial intuition is that we should probably keep the existing behavior we have today. We would just be resolving the value for the user without doing much work. But, I'd be interested to hear your thoughts on this.
from roblox-lua-promise.
Related Issues (20)
- Objects with an "andThen" function are treated as Promises HOT 9
- Promise:finally counts as a consumer, but it probably shouldn't
- Queued callbacks from a cancelled sub-promise should not be run
- Little typo in :expect() documentation
- Use coroutine.close on cancelled promise threads
- Promise.fold does not return correct value if there is an unresolved Promise in the passed list
- Syntax error in documentation example
- Implement Typings For Strict-Typing Luau Users HOT 7
- Unhandled Promise Rejection warning HOT 6
- coroutine.close issue HOT 2
- retryWithDelay signature is wrong
- Stabilize source field
- Promise wally package throws error "Access is denied. (os error 5)" HOT 1
- `Promise.defer` should use `task.defer` HOT 3
- Cannot publish any library HOT 1
- Document the Error object and all of its members
- Promise.fromEvent as command HOT 1
- The auto-filling doesn't work? HOT 1
- Error in finally handler does not propagate to subsequent catch after a :timeout HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from roblox-lua-promise.