Articles of promise de

Promessa – é possível forçar cancelar uma promise

Eu uso ES6 Promises para gerenciar toda a minha recuperação de dados de rede e há algumas situações em que preciso forçar cancelá-las. Basicamente, o cenário é tal que eu tenho uma pesquisa de digitação antecipada na interface do usuário, onde o pedido é delegado para o back-end tem que realizar a pesquisa com base […]

Promessas JavaScript – rejeitar vs.

Eu li vários artigos sobre este assunto, mas ainda não está claro para mim se há uma diferença entre Promise.reject vs. lançar um erro. Por exemplo, Usando Promise.reject return asyncIsPermitted() .then(function(result) { if (result === true) { return true; } else { return Promise.reject(new PermissionDenied()); } }); Usando lance return asyncIsPermitted() .then(function(result) { if (result […]

definindo uma variável para obter o retorno da function de retorno de chamada usando a promise

Eu estou recebendo o valor de “object” em vez do valor exato. Como faço para obter o valor retornado usando uma function de retorno de chamada? function loadDB(option, callBack){ var dfd = new jQuery.Deferred(), db = window.openDatabase(‘mydb’, ‘1.0’, ‘Test DB’, 1024*1024), selectQuery = “SELECT log FROM LOGS WHERE id = ?”; db.transaction(function(tx){ tx.executeSql(selectQuery,[option],function(tx,results){ var retval; […]

Por que o .json () retorna uma promise?

Eu estive brincando com a API fetch () recentemente, e notei algo que era um pouco peculiar. let url = “http://jsonplaceholder.typicode.com/posts/6”; let iterator = fetch(url); iterator .then(response => { return { data: response.json(), status: response.status } }) .then(post => document.write(post.data)); ; post.data retorna um object de promise. http://jsbin.com/wofulo/2/edit?js,output No entanto, se estiver escrito como: let […]

Promise.all: Ordem dos valores resolvidos

Observando o MDN , parece que os values passados ​​para o callback then() do Promise.all contém os valores na ordem das promises. Por exemplo: var somePromises = [1, 2, 3, 4, 5].map(Promise.resolve); return Promise.all(somePromises).then(function(results) { console.log(results) // is [1, 2, 3, 4, 5] the guaranteed result? }); Alguém pode citar uma especificação indicando em qual […]

Corrigir tente … syntax de captura usando async / Await

Eu gosto do nivelamento do novo recurso Async/Await disponível em Typescript, etc. No entanto, eu não tenho certeza se eu gosto do fato de que tenho que declarar a variável que estou await do lado de fora de uma try…catch bloco, a fim de usá-lo mais tarde. Igual a: let createdUser try { createdUser = […]

Como cancelar uma cadeia de promises EMCAScript6 (vanilla JavaScript)

Existe um método para limpar as .then de uma instância do JavaScript Promise ? Eu escrevi um framework de teste JavaScript em cima do QUnit . O framework executa testes de forma síncrona, executando cada um em um Promise . (Desculpe pela duração deste bloco de código. Eu o comentei da melhor maneira possível, por […]

Qual é o padrão de disposição do promise?

Eu li sobre o padrão de disposição de promise em vários lugares, mas não consigo descobrir o que é. Foi sugerido para mim usá-lo em código que se parece com: function getDb(){ return myDbDriver.getConnection(); } var users = getDb().then(function(conn){ return conn.query(“SELECT name FROM users”).finally(function(users){ conn.release(); }); }); Qual é o padrão de disposição do compromisso […]

Qual é a terminologia correta para promises de javascript

Eu estou ficando confuso com a terminologia diferente jogada ao redor. Pelo que entendi, uma promise pode ser: fulfilled rejected pending settled resolved defer A resolução significa resolvida? ou significa que é cumprido? e o que diabos é adiar?

Por que o valor é indefinido em .then () encadeado a Promise?

Dado function doStuff(n /* `n` is expected to be a positive number */) { return new Promise(function(resolve, reject) { setTimeout(function() { resolve(n * 10) }, Math.floor(Math.random() * 1000)) }) .then(function(result) { if (result > 100) { console.log(result + ” is greater than 100″) } else { console.log(result + ” is not greater than 100″); } […]