Articles of promette

come rompere la catena di promesse

Ho una promise in questo modo, function getMode(){ var deferred = Promise.defer(); checkIf(‘A’) .then(function(bool){ if(bool){ deferred.resolve(‘A’); }else{ return checkIf(‘B’); } }).then(function(bool){ if(bool){ deferred.resolve(‘B’); }else{ return checkIf(‘C’); } }).then(function(bool){ if(bool){ deferred.resolve(‘C’); }else{ deferred.reject(); } }); return deferred.promise; } checkIf restituisce una promise, e sì checkIf non può essere modificato . Come posso uscire dalla catena alla […]

restituire valore dopo una promise

Ho una funzione javascript in cui voglio restituire il valore che ottengo dopo il metodo di ritorno. Più facile da vedere che spiegare function getValue(file){ var val; lookupValue(file).then(function(res){ val = res.val; } return val; } Qual è il modo migliore per farlo con una promise. A quanto ho capito, il valore restitu restituirà prima che […]

Node.js è nativo Promise.all elaborazione in parallelo o in sequenza?

Vorrei chiarire questo punto, in quanto la documentazione non è chiara in proposito; Q1: Promise.all(iterable) elaborando tutte le promesse in sequenza o in parallelo? O, più specificamente, è l’equivalente di correre promesse concatenate come p1.then(p2).then(p3).then(p4).then(p5)…. o è qualche altro tipo di algoritmo in cui tutti i p1 , p2 , p3 , p4 , p5 […]

Come si usa Bluebird with Angular?

Ho provato ad usare Angular con Bluebird promette: HTML: {{name}} {{also}} JS: // javascript var app = angular.module(‘HelloApp’, []); app.controller(“HomeController”, function ($scope) { var p = Promise.delay(1000).then(function () { $scope.name = “Bluebird!”; console.log(“Here!”, $scope.name); }).then(function () { $scope.also = “Promises”; }); $scope.name = “$q”; $scope.also = “promises”; }); window.app = app; [ Fiddle ] Tuttavia, […]

Ci sono ancora dei motivi per usare le librerie di promesse come Q o BlueBird ora che abbiamo le promesse ES6?

Dopo che Node.js ha aggiunto il supporto nativo per le promesse, ci sono ancora dei motivi per usare librerie come Q o BlueBird? Ad esempio se stai iniziando un nuovo progetto e assumiamo che in questo progetto non ci siano dipendenze che usano queste librerie, possiamo dire che non ci sono davvero più motivi per […]

Imansible lanciare l’errore da una funzione esecutore promise asincrona

Ho cercato di ottenere una comprensione concettuale del motivo per cui il seguente codice non cattura il throw . Se rimuovi la parola chiave async dalla new Promise(async (resolve, … parte allora funziona bene, quindi ha a che fare con il fatto che l’esecutore Promessa è una funzione asincrona. (async function() { try { await […]

Usa async attendi con Array.map

Dato il seguente codice: var arr = [1,2,3,4,5]; var results: number[] = await arr.map(async (item): Promise => { await callAsynchronousOperation(item); return item + 1; }); che produce il seguente errore: TS2322: digitare ‘Promise []’ non è assegnabile al tipo ‘numero []’. Digitare ‘Promise non è assegnabile al tipo’ numero ‘. Come posso ripararlo? Come posso […]

Come posso restituire lo stato all’interno della promise?

Ho iniziato a imparare le promesse con loopback e jsforce e non ho potuto gestire questo problema; Non è stato ansible restituire status var all’interno della funzione cb (). Fondamentalmente voglio connettere salesforce e ottenere dati tramite JSforce e scriverlo a db tramite loopback. Quindi si desidera restituire i record creati / aggiornati / di […]

Come posso eseguire array di promesse in ordine sequenziale?

Ho una serie di promesse che devono essere eseguite in ordine sequenziale. var promises = [promise1, promise2, …, promiseN]; Chiamando RSVP.all li eseguiremo in parallelo: RSVP.all(promises).then(…); Ma come posso eseguirli in sequenza? Posso impilarli manualmente in questo modo RSVP.resolve() .then(promise1) .then(promise2) … .then(promiseN) .then(…); ma il problema è che il numero delle promesse varia e […]

Come trasformare questa callback in una promise usando async / await?

La seguente funzione prende e immagine da un url, la carica e ne restituisce larghezza e altezza: function getImageData (url) { const img = new Image() img.addEventListener(‘load’, function () { return { width: this.naturalWidth, height: this.naturalHeight } }) img.src = url } Il problema è che se faccio qualcosa del genere: ready () { console.log(getImageData(this.url)) […]