rtfeldman/seamless-immutable

Incorrectly identifying promises

Open

#208 ouverte le 18 mars 2017

Voir sur GitHub
 (6 commentaires) (0 réactions) (0 assignés)JavaScript (221 forks)batch import
bughelp wanted

Métriques du dépôt

Stars
 (5 367 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

I've encountered an issue in the latest (7.1.0) release relating to commit 492d53e705acb6c

The issue is that isPromise makes a huge assumption that any object with a then method is a Promise. If the object is not a Promise, then will be called which may not be desirable.

This can be demonstrated very simply

Immutable({then:function() { console.log("should not be called") }});

I encountered this when using superagent which provides a thenable interface but is not technically a Promise. I suspect there may well be other libraries with a similar approach.

Guide contributeur