«bluebird» etiketlenmiş sorular

Bluebird, yenilikçi özelliklere ve performansa odaklanan, istemci ve sunucu JavaScript için tam özellikli bir söz kitaplığıdır.


17
Bir .then () zincirinde önceki vaat sonuçlarına nasıl erişirim?
Kodumu vaatler için yeniden yapılandırdım ve birden fazla geri aramadan oluşan harika bir uzun düz söz zinciri oluşturdum .then(). Sonunda bir miktar bileşik değer döndürmek istiyorum ve birden fazla ara vaat sonuçlarına erişmek gerekiyor . Ancak dizinin ortasındaki çözünürlük değerleri son geri aramada kapsam dışında değildir, bunlara nasıl erişebilirim? function …


10
Sözler sadece geri aramalar değil mi?
Birkaç yıldır JavaScript geliştiriyorum ve vaatlerle ilgili karışıklığı anlamıyorum. Görünüşe göre tek yaptığım değişiklik: api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); Hangi zaten async gibi bir kütüphane, gibi bir şey ile kullanabilirsiniz: api().then(function(result){ api2().then(function(result2){ api3().then(function(result3){ // do work }); }); }); Hangi daha fazla kod ve daha az …


1
ES6 vaatlerimiz olduğu için Q veya BlueBird gibi vaat kütüphanelerini kullanmak için hala nedenler var mı? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 4 yıl önce kapalı . Bu soruyu geliştir Node.js vaatler için yerel destek ekledikten sonra, Q veya BlueBird gibi kütüphaneleri kullanmak için …

7
.Then (başarı, başarısız) ne zaman vaatler için bir karşıtlık olarak kabul edilir?
Ben bir göz vardı bluebird söz SSS o bahseder ettiği, .then(success, fail)bir antipattern olduğunu . Denemek ve yakalamak için açıklamasını tam olarak anlamıyorum. Bunun nesi yanlış? some_promise_call() .then(function(res) { logger.log(res) }, function(err) { logger.log(err) }) Örnek şu şekilde doğru yolu önermektedir. some_promise_call() .then(function(res) { logger.log(res) }) .catch(function(err) { logger.log(err) }) …

1
Bluebird'ün util.toFastProperties işlevi bir nesnenin özelliklerini nasıl “hızlı” yapar?
Bluebird util.jsdosyasında aşağıdaki fonksiyona sahiptir: function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } Bazı nedenlerden dolayı, dönüş işlevinden sonra neden orada olduğundan emin olmadığım bir ifade var. Ayrıca, yazar bu konuda JSHint uyarısını susturduğu için kasıtlı görünüyor: 'Dönüş' sonrasında ulaşılamayan …

7
Söz zincirinde birden fazla yakalama işlemek
Sözler konusunda hala oldukça yeniyim ve şu anda bluebird kullanıyorum, ancak bununla nasıl başa çıkacağımı tam olarak bilmediğim bir senaryom var. Örneğin bir ekspres uygulamada şöyle bir söz zincirim var: repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: "No account found with this Id" }); }) .then(convertDocumentToModel) .then(verifyOldPassword) .catch(function(error) { res.status(406).send({ OldPassword: error }); …

13
Söz için döngü yazmanın doğru yolu.
Aşağıdaki promise çağrısının ve zincirleme logger.log (res) yineleme yoluyla eşzamanlı olarak çalıştığından emin olmak için doğru bir döngü nasıl oluşturulur ? (Mavikuş) db.getUser(email).then(function(res) { logger.log(res); }); // this is a promise Aşağıdaki yolu denedim ( http://blog.victorquinn.com/javascript-promise- while-loop yöntemi ) var Promise = require('bluebird'); var promiseWhile = function(condition, action) { var …

2
ÖN ve SONRA yakanın yerleştirilmesi
.catchİç içe bir sözde ÖNCE ve SONRA koymak arasındaki farkı anlamakta güçlük çekiyorum . Alternatif 1: test1Async(10).then((res) => { return test2Async(22) .then((res) => { return test3Async(100); }).catch((err) => { throw "ERROR AFTER THEN"; }); }).then((res) => { console.log(res); }).catch((err) => { console.log(err); }); Alternatif 2: test1Async(10).then((res) => { return test2Async(22) …

2
Promise.resolve - yeni Promise (çözümleme)
Bluebird kullanıyorum ve eşzamanlı işlevleri bir Söze dönüştürmenin iki yolunu görüyorum, ancak her iki yol arasındaki farkları anlamıyorum. Stacktrace biraz farklı gibi görünüyor, bu yüzden sadece bir değil alias, değil mi? Peki tercih edilen yol nedir? Yol A function someFunction(someObject) { return new Promise(function(resolve) { someObject.resolved = true; resolve(someObject); }); …

8
Geri aramaları Node.js'deki vaatlerle değiştirme
Bir veritabanına bağlanan ve veri almak için birkaç işlevi olan basit bir düğüm modülüm var, örneğin bu işlev: dbConnection.js: import mysql from 'mysql'; const connection = mysql.createConnection({ host: 'localhost', user: 'user', password: 'password', database: 'db' }); export default { getUsers(callback) { connection.connect(() => { connection.query('SELECT * FROM Users', (err, result) …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.