În codul următor, am un ciclu infinit și nu știu de ce se întâmplă acest lucru. Cea mai bună presupunere a mea este că, deoarece funcția din interior este async, ciclul nu așteaptă pentru ea și astfel ciclul nu se oprește niciodată. Care este cel mai bun mod de a rezolva această problemă?
var generateToken = function(userId) { return new Citeste mai mult →
Vreau ca browserul să afișeze un mesaj de eroare atunci când apare o eroare de tip. erori precum nu se poate citi proprietatea ceva din undefined sau referință undefined.
new Promise(function(resolve,reject){ // do stuff ... reject('something logical is wrong'); }).catch(e => console.e Citeste mai mult →Dacă un handler then nu are o instrucțiune return, promisiunea rezultantă înlănțuită primește valoarea undefined în Bluebird. Dar nu pot vedea nicăieri că acest lucru este specificat în Promises/A+ sau în altă parte? Se poate conta pe acest comportament?
Iată un program de test:
var Promise = require('bluebird'); var p = Promise.resolve('test'); p.then(function(s) { console.log('s1='+s); // no return }).then(function(s) { Citeste mai mult →
Așadar, am o problemă cu Promisiunile JavaScript. Folosesc implementarea nativă pentru a reduce dependențele.
Un exemplu ilustrativ a ceea ce am nevoie.
Am nevoie să obțin liste de cărți, autori de cărți și achiziții. De asemenea, am nevoie de un profil al autorului pentru fiecare
Citeste mai mult →
"use strict"; let assert = require("assert"); describe("Promise test", function() { it('should pass', function(done) { var a = {}; var b = {}; a.key = 124; b.key = 567; let p = new Promise(function(resolve, reject) { setTimeout(function() { resolve(); }, 100) }); p.then(function success() { console.log("success---->", a, b); assert.deepEqual(a, b, "response doesnot match"); done(); }, function
Citeste mai mult →
Încerc să execut o rutină asincronă pentru o mulțime de elemente dintr-o listă pe care o iau dintr-o bază de date, dar am dificultăți să înțeleg cum funcționează promise.all și ce face acesta.
Iată codul pe care îl folosesc acum:
/** * Queues up price updates */ function updatePrices() { console.log("~~~ Now updating al Citeste mai mult →
Obțin un array dinamic (numărul de promisiuni se poate schimba la fiecare rulare) de promisiuni. Acum vreau ca după fiecare rezolvare sau respingere să gestionez promisiunea returnată înainte ca array-ul de promisiuni să fie terminat.
Încerc cu promise all, dar continuă după ce toate promisiunile s-au încheiat.
Citeste mai mult →
De ce permite Promise.all() ca orice obiect să fie transmis ca un iterable?
exemplu (jsfiddle: https://jsfiddle.net/npqgpcud/6/):
var promise1 = "one"; var promise2 = 2222; var promise3 = new Promise(function (fulfill, reject) { fulfill("three"); }); Promise.all([promise1, promise2, promise3]).t Citeste mai mult →
Deoarece await nu funcționează în interiorul Array.map sau Array.reduce, poți face ceva de genul următor sau ar fi considerat abuz de Promise.all? În mod normal, neo4j.session() ar fi așteptat
Citeste mai mult →
În primul rând, sunt familiarizat cu conceptul de funcție asincronă/sincronă. De asemenea, există multe întrebări legate de a mea. Dar nu îmi pot găsi răspunsul nicăieri.
Deci întrebarea este: Există o modalitate de a returna o valoare în loc
Citeste mai mult →