Node 7.1.0 new Promise () resolver undefined non è una funzione

Sto usando l’ultimo nodo versione 7.1.0 su OSX ma non riesco ancora a utilizzare Promises. ottengo

index.js

new Promise(); 

Errore:

 new Promise(); ^ 

TypeError: Promise resolver undefined non è una funzione

Il nodo 7.1.0 non supporta ES6 e Promise?

L’API per le promesse richiede che tu passi una funzione al costruttore di promise. Citando MDN :

nuova promise (/ * esecutore * / funzione (risoluzione, rifiuto) {…});

executor – Una funzione che viene passata con gli argomenti risolti e rifiutati. La funzione esecutore viene eseguita immediatamente dall’implementazione Promise, passando le funzioni di risoluzione e rifiuto (l’esecutore viene chiamato prima che il costruttore Promise restituisca anche l’object creato). Le funzioni di risoluzione e rifiuto, quando chiamate, risolvono o rifiutano rispettivamente la promise. L’executor normalmente avvia un lavoro asincrono e quindi, una volta completato, chiama la funzione di risoluzione o di rifiuto per risolvere la promise oppure la rifiuta se si verifica un errore.

Puoi vedere questa risposta per esempi di utilizzo.

Il nodo 7.1 supporta le promesse.

È necessario fornire i callback al costruttore Promise in modo che sappia cosa fare quando si risolve o si rifiuta l’operazione.

Per esempio:

 var p = new Promise((resolve, reject) => { setTimeout(() => { resolve(); }, 5000); }); p.then(() => { console.log("Got it"); }) 

Dopo 5 secondi vedrai il messaggio Got it nella tua console.

C’è una buona libreria per Promises: Bluebird

Controlla anche la documentazione MDN .

Mi piace questo articolo dagli sviluppatori di Google .