Articles of promette

Come si prende in giro MySQL (senza un ORM) in Node.js?

Sto usando Node.js con il client node-mysql di felixge. Non sto usando un ORM. Sto testando con Vows e voglio essere in grado di prendere in giro il mio database, probabilmente usando Sinon. Dal momento che in realtà non ho un DAL di per sé (a parte il node-mysql ), non sono davvero sicuro di […]

NodeJS UnhandledPromiseRejectionWarning

Quindi, sto testando un componente che si basa su un event-emitter. Per farlo ho trovato una soluzione usando Promises con Mocha + Chai: it(‘should transition with the correct event’, (done) => { const cFSM = new CharacterFSM({}, emitter, transitions); let timeout = null; let resolved = false; new Promise((resolve, reject) => { emitter.once(‘action’, resolve); emitter.emit(‘done’, […]

Errori di cattura in JavaScript Promesse con un primo livello provare … catch

Quindi, voglio che il mio primo livello di cattura sia quello che gestisce l’errore. Esiste comunque la possibilità di propagare il mio errore fino alla prima presa? Codice di riferimento, non funzionante (ancora): Promise = require(‘./framework/libraries/bluebird.js’); function promise() { var promise = new Promise(function(resolve, reject) { throw(‘Oh no!’); }); promise.catch(function(error) { throw(error); }); } try […]

Perché “questo” non è definito nel metodo di class quando si usano le promesse?

Ho una class javascript e ogni metodo restituisce una promise Q Voglio sapere perché this non è definito in method2 e method3 . C’è un modo più corretto per scrivere questo codice? function MyClass(opts){ this.options = opts; return this.method1() .then(this.method2) .then(this.method3); } MyClass.prototype.method1 = function(){ // …q stuff… console.log(this.options); // logs “opts” object return deferred.promise; […]

Come concatenare un numero variabile di promesse in Q, in ordine?

Ho visto concatenare un numero arbitrario di promesse in Q ; la mia domanda è diversa. Come posso creare un numero variabile di chiamate, ognuna delle quali restituisce in modo asincrono, in ordine? Lo scenario è un insieme di richieste HTTP, il cui numero e tipo è determinato dai risultati della prima richiesta HTTP. Mi […]

Come gestisco le eccezioni a livello globale con promesse native in node.js?

So come gestire gli errori specifici nelle promesse ma a volte ho pezzi di codice che assomigliano a questo: somePromise.then(function(response){ otherAPI(JSON.parse(response)); }); A volte, ricevo JSON non valido che provoca un errore invisibile qui quando JSON.parse throw s. In generale, devo ricordare di aggiungere un gestore .catch ad ogni singola promise nel mio codice e […]

Cosa succede se rifiuto / risolvo più volte in q di Kriskowal?

Sto studiando lo schema delle promesse e usando q di kriskowal per node.js, avendo questo frammento: var deferred = Q.defer(); try { messageData = JSON.parse(message); } catch (e) { global.logger.warn(‘Error parsing JSON message.’); deferred.reject(e); } … if (some_reason) deferred.resolve(something); … return deferred.promise; Cosa succede se entrambi i parser falliscono e some_reason è vero? L’esecuzione procederà […]

Timeout in async / await

Sono con Node.js e TypeScript e sto usando async/await . Questo è il mio caso di prova: async function doSomethingInSeries() { const res1 = await callApi(); const res2 = await persistInDB(res1); const res3 = await doHeavyComputation(res1); return ‘simle’; } Mi piacerebbe impostare un timeout per la funzione generale. res1 dire se res1 impiega 2 secondi, […]

Modo corretto per saltare una funzione allora in Q Promises

Nel mio codice, basato su una condizione specifica, vorrei saltare alla funzione done , indipendentemente da tutte le funzioni. La versione originale di questa domanda è nelle modifiche. Quello che segue è il problema reale con cui sto trattando. Ci dispiace per l’inconvenienza Problema reale: Sto leggendo un file e lo sto elaborando. Se il […]

Come trovare le promesse non gestite in Node.js UnhandledPromiseRejectionWarning?

Node.js dalla versione 7 ha async / await zucchero sintattico per la gestione delle promesse e ora nel mio codice il seguente avviso arriva abbastanza spesso: (node:11057) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ReferenceError: Error: Can’t set headers after they are sent. (node:11057) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections […]