Comments (6)
promise is defined as the argument:
es6-promise/lib/es6-promise/-internal.js
Line 31 in 314e483
And there is no Promise.then
.
from es6-promise.
We can likely fast path that codepath with some extra checks. Will investigate in the AM
from es6-promise.
If this is an issue at the "then"able check on resolve(value)
, then can it be, that IE11 in fact has some issues with objectOrFunction
returning true
where it shoudn't (i.E. when value===void 0
)?
es6-promise/lib/es6-promise/-internal.js
Lines 106 to 107 in 314e483
Usually value.then
(which is returned by getThen(value)
) should give undefined
and not throw. Because throwing makes the Promise to recject.
from es6-promise.
@hilbix do you have a scenario in mind where that would occur?
from es6-promise.
@stefanpenner Not particular. This is what I see in the code, not by direct observation. Sorry. Perhaps I was't clear enough to express my thoughts, so 2nd try here ;)
The OP writes, that promise
is undefined
in getThen()
. AFAICS the only code which calls getThen()
is the snippet:
handleMaybeThenable(promise, value, getThen(value));
However this is guarded by objectOrFunction(value)
, hence this must return true
on the given value
:
es6-promise/lib/es6-promise/utils.js
Lines 1 to 4 in 314e483
Even if null
is not void 0
and redefined to something weird, the typeof x
should not give object
nor function
for non-objects and non-functions. However if it is an object or function, an access to .then
should not throw, either.
Well, yes, we can create objects and functions which do not allow access to the property .then
. But this then is by purpose, read, perhaps it's better when it throws!
So what's left?
The only thing I can think of is, that, perhaps, the OP returned some IE11-special object from the Promise, which gives either function
or object
on typeof
, but IE11 disallows access to property .then
.
In that case, the OP should, please, tell us which type of object the promise
was, because this is very esoteric, so hard to find out.
Read: There definitively is too few information to be able to solve this riddle here.
from es6-promise.
the OP returned some IE11-special object
@hilbix I agree with your analysis.
from es6-promise.
Related Issues (20)
- Intercepting `Promise.resolve` fails in `enumerator.js#L82`
- ES6Promise.Promise.prototype.finally does not behave according to spec HOT 3
- Library outdated on cdnjs
- Consider enabling the daily build in TravisCI
- The automatic polyfill fails when both 'window' and 'global' exist.
- Add `unpkg` and `jsdelivr` properties to package.json which point at dist version HOT 1
- Inconsistent type on `Thenable.then` overload? HOT 1
- Promise.prototype.catch IE8 Expected identifier error HOT 1
- Why are you using setTimeout(1) instead of setTimeout(0)? HOT 4
- .d.ts incompatible with TypeScript lib definitions
- ie9 catch error HOT 2
- Missing polyfill for Promise.allSettled HOT 7
- Error: 'Promise' is not exported HOT 1
- Is it required to include both scripts in html page? HOT 2
- Update CHANGELOG with 4.2.6, 4.2.7, 4.2.8?
- Switch build to Babel 7? HOT 1
- The output sequence is not consistent with native performance HOT 1
- incompatible with ie11 + babel + webpack
- Mau claim produk yang telah saya gunakan untuk konfirmasi hasil yang maksimal di perangkat Android yang telah saya mainkan verryhadisaputra
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 es6-promise.