Pytania otagowane jako bluebird

Bluebird to w pełni funkcjonalna biblioteka obietnic dla JavaScript klienta i serwera, z naciskiem na innowacyjne funkcje i wydajność.


17
Jak uzyskać dostęp do wyników poprzednich obietnic w łańcuchu .then ()?
Przekształciłem swój kod w obietnice i zbudowałem wspaniały długi, płaski łańcuch obietnic , składający się z wielu .then()wywołań zwrotnych. Na koniec chcę zwrócić pewną wartość złożoną i muszę uzyskać dostęp do wielu wyników pośrednich obietnic . Jednak wartości rozdzielczości od połowy sekwencji nie są objęte zakresem ostatniego oddzwaniania, jak uzyskać …


10
Czy obietnice nie są tylko oddzwanianiem?
JavaScript rozwijam od kilku lat i wcale nie rozumiem zamieszania związanego z obietnicami. Wygląda na to, że wszystko, co robię, to zmiana: api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); I tak mógłbym użyć biblioteki takiej jak asynchroniczna , z czymś takim jak: api().then(function(result){ api2().then(function(result2){ api3().then(function(result3){ // do work …


1
Czy nadal istnieją powody, aby korzystać z bibliotek obietnic, takich jak Q lub BlueBird, skoro mamy obietnice ES6? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Popraw to pytanie Czy po dodaniu natywnej obsługi obietnic przez Node.js nadal istnieją …

7
Kiedy .ten (sukces, porażka) jest uważany za antypattern dla obietnic?
Rzuciłem okiem na często zadawane pytania dotyczące obietnicy bluebird , w których wspomina, że .then(success, fail)jest to antypattern . Nie do końca rozumiem jego wyjaśnienie dotyczące próby złapania. Co jest z tym nie tak? some_promise_call() .then(function(res) { logger.log(res) }, function(err) { logger.log(err) }) Wygląda na to, że przykład sugeruje następujące …

1
W jaki sposób funkcja util.toFastProperties w Bluebird sprawia, że ​​właściwości obiektu są „szybkie”?
W util.jspliku Bluebird ma następującą funkcję: function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } Z jakiegoś powodu po funkcji return znajduje się instrukcja, której nie jestem pewien, dlaczego się tam znajduje. Wydaje się również, że jest to celowe, ponieważ autor …

7
Obsługa wielu połowów w łańcuchu obietnic
Wciąż jestem dość nowy w obietnicach i obecnie używam Bluebird, jednak mam scenariusz, w którym nie jestem do końca pewien, jak najlepiej sobie z tym poradzić. Na przykład mam łańcuch obietnic w aplikacji ekspresowej, takiej jak ta: repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: "No account found with this Id" }); }) .then(convertDocumentToModel) …

13
Prawidłowy sposób zapisywania pętli dla obietnicy.
Jak poprawnie skonstruować pętlę, aby upewnić się, że następuje wywołanie obietnicy i łańcuch logger.log (res) działają synchronicznie przez iterację? (niebieski ptak) db.getUser(email).then(function(res) { logger.log(res); }); // this is a promise Spróbowałem w następujący sposób (metoda z http://blog.victorquinn.com/javascript-promise-while-loop ) var Promise = require('bluebird'); var promiseWhile = function(condition, action) { var resolver …

2
Umiejscowienie połowu PRZED i PO następnie
Mam problem ze zrozumieniem różnicy między wstawieniem .catchPRZED i PO następnie w zagnieżdżonej obietnicy. Alternatywa 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); }); Alternatywa 2: test1Async(10).then((res) => { return test2Async(22) …

2
Promise.resolve a nowa obietnica (rozwiązanie)
Używam bluebird i widzę dwa sposoby przekształcania funkcji synchronicznych w obietnicę, ale nie widzę różnic między nimi. Wygląda na to, że ślad stosu jest nieco inny, więc nie są one tylko znakami alias, prawda? Więc jaki jest preferowany sposób? Sposób A function someFunction(someObject) { return new Promise(function(resolve) { someObject.resolved = …

8
Zastępowanie wywołań zwrotnych obietnicami w Node.js.
Mam prosty moduł węzła, który łączy się z bazą danych i ma kilka funkcji do odbierania danych, na przykład ta funkcja: 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 …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.