Y
Hacker News
new
|
ask
|
show
|
jobs
by
pharmakom
1726 days ago
Promise<Promise<T>> is collapsed to Promise<T> automatically, which violates monad laws.
1 comments
eyelidlessness
1725 days ago
What’s interesting is this seems to say the exact opposite of what the other direct response says. But I also don’t think this is exactly true.
Promise.resolve( Promise.resolve('foo') )
At runtime is Promise<Promise<string>>. It only collapses when chained to then (or await’ed), just as in the sibling comment’s flatMap example.
link