Показать сообщение отдельно
  #1 (permalink)  
Старый 21.10.2018, 22:06
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

Асинхронные задачи, callback
Добрый день друзья, помогите пожалуйста разобраться... вроде элементарные вещи разбираю, но почему-то вывод происходит не в том порядке.

function processBuild (srcUrl, baseUrl, destUrl, newest, callback) {
  return src(srcUrl)
    .pipe(gulpif(newest, changed(path.tmp.temp + baseUrl)))
    .pipe(dest(destUrl + baseUrl)
      .on('end', () => { if(true) {console.log(srcUrl); callback;} }));
}

var done = (url) => {
            console.log('done');
            return 'OK';
          }

function setBuild (destUrl, newest) {
  processBuild(path.css.files,    path.css.folder,    destUrl, newest, 
    processBuild(path.css.mapFiles, path.css.mapFolder, destUrl, newest, 
      processBuild(path.html.files,   path.html.folder,   destUrl, newest, 
        processBuild(path.js.files,     path.js.folder,     destUrl, newest, 
          done()))));
  return src('./');
}

function tempBuild () { return setBuild(path.tmp.temp, false); }

task('test', tempBuild);


в setBuild я вызываю функции по очереди через callback и ожидаю увидеть в консоли следующий порядок:
./alecto/my/styles/all/theme/**/*.css
./alecto/my/styles/all/theme/**/*.map
./alecto/my/styles/all/template/**/*.html
./alecto/my/styles/all/template/**/*.js

но вывод происходит непонятно в каком порядке:
./alecto/my/styles/all/theme/**/*.map
./alecto/my/styles/all/template/**/*.js
./alecto/my/styles/all/theme/**/*.css
./alecto/my/styles/all/template/**/*.html

помогите пожалуйста разобраться, где ошибка.
пробовал через async/away - та же ерунда получается.
Ответить с цитированием