Запитання з тегом «bluebird»

Bluebird - це повнофункціональна бібліотека обіцянок для клієнтського та серверного JavaScript з акцентом на інноваційні функції та продуктивність.

19
Як перетворити існуючий API зворотного виклику в обіцянки?
Я хочу працювати з обіцянками, але у мене є API зворотного виклику у такому форматі: 1. Завантаження DOM або інша разова подія: window.onload; // set to callback ... window.onload = function() { }; 2. Простий зворотний виклик: function request(onChangeHandler) { ... } request(function() { // change happened ... }); 3. …

17
Як отримати доступ до попередніх результатів обіцянки в ланцюзі .then ()?
Я реструктуризував свій код до обіцянок і створив чудовий довгий плоский ланцюжок обіцянок , що складається з декількох .then()зворотних викликів. Зрештою, я хочу повернути деяке складене значення і мені потрібно отримати доступ до декількох проміжних результатів обіцянки . Однак значення роздільної здатності від середини послідовності не входять в обсяг останнього …

2
Що таке явна обіцянка будівництва антипатернів і як я цього уникаю?
Я писав код, який робить щось таке: function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) { // or = new $.Deferred() etc. | // using a promise constructor myPromiseFn(param+1) | myPromiseFn(param+1) .then(function(val) { /* or .done */ | …

10
Не обіцянки - це лише зворотні дзвінки?
Я розробляв JavaScript вже кілька років, і взагалі не розумію суєти щодо обіцянок. Здається, що все, що я роблю, - це зміни: api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); Яка я могла б використовувати бібліотеку, як асинхронність, у будь-якому випадку: api().then(function(result){ api2().then(function(result2){ api3().then(function(result3){ // do work }); }); …


1
Чи є ще причини використовувати бібліотеки з обіцянками, такі як Q або BlueBird, тепер, коли ми обіцяємо ES6? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Удосконаліть це питання Після того, як Node.js додав нативну підтримку обіцянок, чи все ж …

7
Коли .then (успіх, невдача) вважається антипатрітетом для обіцянок?
Я переглянув питання щодо поширених запитань щодо синьої пташки , в яких згадується, що .then(success, fail)це антипатрія . Я не зовсім розумію його пояснення щодо спроби та лову. Що поганого в цьому нижче? some_promise_call() .then(function(res) { logger.log(res) }, function(err) { logger.log(err) }) Здається, що в прикладі пропонується наступне як правильно. …

1
Як функція util.toFastProperties Bluebird робить властивості об'єкта "швидкими"?
У util.jsфайлі Bluebird він має таку функцію: function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } Чомусь після функції повернення є твердження, яке я не впевнений, чому це там. Крім того, здається, що це навмисно, оскільки автор замовк JSHint попередження про …

7
Обробка декількох уловів у ланцюжку обіцянок
Я все ще досить обіцяний і зараз використовую блакитну птицю, однак у мене є сценарій, коли я не зовсім впевнений, як найкраще впоратися з цим. Так, наприклад, я маю ланцюжок обіцянок у експрес-додатку, як: repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: "No account found with this Id" }); }) .then(convertDocumentToModel) .then(verifyOldPassword) .catch(function(error) { …

13
Правильний спосіб написання циклів для обіцянки.
Як правильно побудувати цикл, щоб переконатися, що наступний виклик обіцянки та ланцюжок logger.log (res) працює синхронно через ітерацію? (синій птах) db.getUser(email).then(function(res) { logger.log(res); }); // this is a promise Я спробував наступним чином (метод від http://blog.victorquinn.com/javascript-promise-time-loop ) var Promise = require('bluebird'); var promiseWhile = function(condition, action) { var resolver = …

2
Розміщення улову до і після того
У мене виникають проблеми з розумінням різниці між тим, як .catchВПЕРЕД та ПІСЛЯ потім вкластися. Альтернатива 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); }); Альтернатива 2: test1Async(10).then((res) => { return …

8
Заміна зворотних дзвінків обіцянками в Node.js
У мене є простий модуль вузла, який підключається до бази даних і має кілька функцій для прийому даних, наприклад, ця функція: 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 …

2
Promise.resolve проти нового Promise (вирішити)
Я використовую bluebird, і я бачу два способи вирішити синхронні функції в Promise, але я не отримую різниці між обома способами. Схоже, стек стежка трохи відрізняється, тому вони не просто alias, правда? Отже, який спосіб є кращим? Шлях А function someFunction(someObject) { return new Promise(function(resolve) { someObject.resolved = true; resolve(someObject); …

7
Як перспектифікувати функції child_process.exec та child_process.execFile Node за допомогою Bluebird?
Я використовую бібліотеку обіцянок Bluebird під Node.js, це здорово! Але у мене питання: Якщо ви подивитесь на документацію Node's child_process.exec та child_process.execFile, ви побачите, що обидві ці функції повертають об'єкт ChildProcess. Отже, який рекомендований спосіб оптимізації таких функцій? Зверніть увагу, що працює наступне (я отримую об’єкт Promise): var Promise = …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.