Articles of promete

Use async aguardando com Array.map

Dado o seguinte código: var arr = [1,2,3,4,5]; var results: number[] = await arr.map(async (item): Promise => { await callAsynchronousOperation(item); return item + 1; }); que produz o seguinte erro: TS2322: O tipo ‘Promessa []’ não pode ser atribuído para digitar ‘numero []’. Digite ‘Promise não é atribuível ao tipo’ number ‘. Como posso consertar […]

Como posso retornar status dentro da promise?

Comecei a aprender a promise com loopback e jsforce e não conseguia lidar com esse problema; Não consegui retornar o status var inside promise para a function cb (). Basicamente, eu quero conectar o Salesforce e obter dados via JSforce e gravá-lo em db via loopback. Em seguida, deseja retornar os registros criados / atualizados […]

Como posso executar uma matriz de promises em ordem sequencial?

Eu tenho uma série de promises que precisam ser executadas em ordem seqüencial. var promises = [promise1, promise2, …, promiseN]; Chamar RSVP.all irá executá-los em paralelo: RSVP.all(promises).then(…); Mas como posso executá-los em sequência? Eu posso empilhá-los manualmente assim RSVP.resolve() .then(promise1) .then(promise2) … .then(promiseN) .then(…); mas o problema é que o número de promises varia e […]

Alça de erro ES6 Promise.all () – Is .settle () é necessário?

Vamos dizer que eu tenho um Promise.all() que lida com duas promises. Se uma promise produz um erro, mas a outra resolve, eu gostaria de poder lidar com os erros com base na situação após o Promise.all() ter resolvido. ES6 Promessas estão faltando o método de resolver, estou assumindo por um bom motivo. Mas não […]

Fluxo if-else na promise (bluebird)

Esta é uma versão curta do meu código. var Promise = require(‘bluebird’); var fs = Promise.promisifyAll(require(“fs”)); if (conditionA) { fs.writeFileAsync(file, jsonData).then(function() { return functionA(); }); } else { functionA(); } Ambas as condições chamam a functionA . Existe maneira de evitar outra condição? Eu posso fazer fs.writeFileSync mas estou procurando uma solução sem bloqueio.

Manipulando várias capturas na cadeia de promises

Eu ainda sou bastante novo para promises e estou usando o bluebird atualmente, no entanto, tenho um cenário em que não tenho certeza de como lidar melhor com ele. Então, por exemplo, eu tenho uma cadeia de promises dentro de um aplicativo expresso assim: repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: “No account found with this Id” }); […]

Em relação às Promessas / Especificação A +, qual é a diferença entre os termos “razoável” e “promise”?

Estou verificando a especificação “Promises / A +”, mas não consegui entender o seguinte: Na Seção 1. Terminologia, 1.1. “promise” é um object ou function com um método então cujo comportamento está de acordo com esta especificação. 1.2. “thenable” é um object ou function que define um método então. Então, qual é a diferença entre […]

Múltipla busca sequencial () Promessa

Eu tenho que fazer uma seqüência de fetch() Promise: Eu tenho apenas 1 url de cada vez, isso significa apenas 1 fetch() promise. Toda vez que eu recebo um json, este contém um url para outro json, então eu tenho que fazer outro fetch() prometer. Eu sou capaz de trabalhar com múltiplas promises, mas neste […]

Como faço para testar corretamente as promises com mocha e chai?

O teste a seguir está se comportando de forma estranha: it(‘Should return the exchange rates for btc_ltc’, function(done) { var pair = ‘btc_ltc’; shapeshift.getRate(pair) .then(function(data){ expect(data.pair).to.equal(pair); expect(data.rate).to.have.length(400); done(); }) .catch(function(err){ //this should really be `.catch` for a failed request, but //instead it looks like chai is picking this up when a test fails done(err); }) […]

Diferença entre microtask e macrotask em um contexto de loop de events

Acabei de ler a especificação Promises / A + e deparei com os termos microtask e macrotask: consulte http://promisesaplus.com/#notes Eu nunca ouvi falar desses termos antes, e agora estou curioso sobre qual seria a diferença? Eu já tentei encontrar algumas informações na web, mas tudo que eu encontrei é este post dos arquivos w3.org (que […]