Articles of promette

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)) […]

Un’API asincrona dovrebbe mai essere lanciata in modo sincrono?

Sto scrivendo una funzione JavaScript che effettua una richiesta HTTP e restituisce una promise per il risultato (ma questa domanda si applica allo stesso modo per un’implementazione basata su callback). Se noto immediatamente che gli argomenti forniti per la funzione non sono validi, la funzione deve essere throw sincrono oppure deve restituire una promise respinta […]

if-else flow in promise (bluebird)

Questa è una versione breve del mio codice. var Promise = require(‘bluebird’); var fs = Promise.promisifyAll(require(“fs”)); if (conditionA) { fs.writeFileAsync(file, jsonData).then(function() { return functionA(); }); } else { functionA(); } Entrambe le condizioni chiamano functionA . C’è modo di evitare altre condizioni? Posso fare fs.writeFileSync ma sto cercando una soluzione non bloccante.

Gestire più catture nella catena di promise

Sono ancora abbastanza nuovo alle promesse e sto usando bluebird al momento, tuttavia ho uno scenario in cui non sono abbastanza sicuro di come gestirlo al meglio. Quindi, ad esempio, ho una catena di promesse all’interno di un’app express in questo modo: repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: “No account found with this Id” }); }) .then(convertDocumentToModel) […]