Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2016, 13:26
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

async waterfall
Добрый день, ребята! Помогите разобраться с методом waterfall!
Вот кусок с документации, как используется waterfall:
async.waterfall([
    function(callback){
        callback(null, 'один', 'два');
  , }
    function(arg1, arg2, callback){
        // Тут arg1 равен "один"
        // , а arg2 равен "два"
        // что соответствует второму и третьему параметру текщего колбека
        // , а первый конечно же мы не забыли - это err но в этом случае
        // ошибок нет поэтому null
        callback(null, 'три');
  , }
    function(arg1, callback){
        // Здесь же arg1 будет равен уже "три"
        callback(null, 'Готово');
    }
], function (err, result) {
   // Сейчас результат будет равен 'Готово'    
});

вот кусок моего кода:
$('body').on('click', '#make-incasation', function () {
                var funcArr = [];
                var checked = recalculateSum(); // Здесь получаем массив объектов
                allOperationsHasBeenSended = false;
                for (var i = 0; i < checked.length; i++) {

                    (function (i) {

                        funcArr.push(function (cb) {
                            var IncomeOperation = {};
                            IncomeOperation.statuscode = {
                                Value: 1
                            };
                            IncomeOperation.erpc_BalAccountType = {
                                Value: 127770001
                            };
                            if ($.datepicker.parseDate('dd.mm.yy', $('#tr-date').val())) {
                                IncomeOperation.erpc_PostingDate = $.datepicker.parseDate('dd.mm.yy', $('#tr-date').val());
                            }
                            else {
                                IncomeOperation.erpc_PostingDate = new Date();
                            }
                            counter++;

                            CrmRestKit.Update("erpc__financial_transaction", checked[i].Id, IncomeOperation) // REST запрос 
                                .done(function (data, status, xhr) {
                                    if (--counter <= 0 && allOperationsHasBeenSended) {
                                        alert('Оплаты подтверждены');
                                        //  window.close();
                                       // cb(null, counter);
                                    }
                                }).fail(function (xhr, status, ethrow) {
                                    console.log('Error: ' + status + ': ' + xhr.statusText + '.');
                                });
                           // cb(null, counter);
                        })
                    })(i);

                }
                async.waterfall(funcArr, function (err, result) {
                    console.log(result);
                } );
                allOperationsHasBeenSended = true;
            });
        }


Я не пойму, что мне надо передавать в колбэки в моем случае и где их прописывать , если я при успешном запросе обновляю записать в системе строкой в методе done.
CrmRestKit.Update("erpc__financial_transaction", checked[i].Id, IncomeOperation)

.
Может кто подсказать?!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Async в ajax runs AJAX и COMET 1 23.12.2015 20:25
распарсить строку json sotik AJAX и COMET 14 24.11.2014 16:06
async download img key_to_dcmbr AJAX и COMET 2 09.01.2012 14:45
Node.js sync or async functions eai AJAX и COMET 3 06.10.2011 12:07
Проверка форм: .ajax async tarya jQuery 2 05.05.2011 20:38