Articles of promise

O que é std :: promise?

Eu estou bastante familiarizado com std::future componentes std::thread , std::async e std::future C ++ 11, por exemplo, veja essa resposta , que são diretos. No entanto, não consigo entender o que é std::promise , o que ele faz e em quais situações ele é melhor usado. O documento padrão em si não contém muitas informações […]

usando setTimeout na cadeia de promises

Aqui eu estou tentando envolver minha cabeça em torno promises.Aqui na primeira solicitação eu buscar um conjunto de links.and na próxima solicitação eu busco o conteúdo do primeiro link.Mas eu quero fazer um atraso antes de retornar o próximo object promise.Então eu uso setTimeout nele.Mas dá-me o seguinte erro JSON ( without setTimeout() it works […]

Por que não posso jogar dentro de um manipulador Promise.catch?

Por que não posso simplesmente lançar um Error dentro do retorno de chamada catch e deixar o processo manipular o erro como se estivesse em qualquer outro escopo? Se eu não fizer console.log(err) nada é impresso e não sei nada sobre o que aconteceu. O processo acaba de terminar … Exemplo: function do1() { return […]

Como transformar este callback em uma promise usando async / await?

A seguinte function é obtida e a imagem de uma URL, carrega-a e retorna sua largura e altura: function getImageData (url) { const img = new Image() img.addEventListener(‘load’, function () { return { width: this.naturalWidth, height: this.naturalHeight } }) img.src = url } O problema é, se eu fizer algo assim: ready () { console.log(getImageData(this.url)) […]

Quebre a cadeia de promise e chame uma function baseada na etapa da cadeia onde ela está quebrada (rejeitada)

Atualizar: Para ajudar os futuros espectadores deste post, criei esta demo da resposta da pluma . Questão: Meu objective parece bastante simples. step(1) .then(function() { return step(2); }, function() { stepError(1); return $q.reject(); }) .then(function() { }, function() { stepError(2); }); function step(n) { var deferred = $q.defer(); //fail on step 1 (n === 1) […]

O que $ .when.apply ($, someArray) faz?

Estou lendo sobre Deferreds and Promises e continuo chegando em $.when.apply($, someArray) . Estou um pouco incerto sobre o que isso faz exatamente, procurando uma explicação de que uma linha funciona exatamente (não o trecho inteiro do código). Aqui está um contexto: var data = [1,2,3,4]; // the ids coming back from serviceA var processItemsDeferred […]

Como posso encadear essas funções com promises?

Este é um programa que raspa os dados de um site tshirt e, em seguida, grava as informações do produto em um arquivo CSV. Existem 3 funções de raspar e 1 function de escrita. Agora, estou tendo um pesadelo absoluto tentando entender como implementar promises aqui sem bibliotecas ou pacotes de terceiros. Isso é possível […]

Uma API assíncrona deve ser lançada de forma síncrona?

Estou escrevendo uma function JavaScript que faz uma solicitação HTTP e retorna uma promise para o resultado (mas essa questão se aplica igualmente a uma implementação baseada em retorno de chamada). Se eu souber imediatamente que os argumentos fornecidos para a function são inválidos, a function deve ser throw síncrona ou deve retornar uma promise […]

AngularJS: Onde usar promises?

Eu vi alguns exemplos de serviços de login do Facebook que estavam usando promises para acessar a API do FB Graph. Exemplo 1 : this.api = function(item) { var deferred = $q.defer(); if (item) { facebook.FB.api(‘/’ + item, function (result) { $rootScope.$apply(function () { if (angular.isUndefined(result.error)) { deferred.resolve(result); } else { deferred.reject(result.error); } }); }); […]

Usando transferidor com loops

O índice de loop ( i ) não é o que estou esperando quando uso o transferidor em um loop. Sintomas: Falhou: indexar fora do limite. Tentando acessar o elemento no índice: ‘x’, mas há apenas elementos ‘x’ ou O índice é estático e sempre igual ao último valor Meu código for (var i = […]