Skip to content

Скрипт для организации последовательного исполнения JS-функций посредством механизма обратных вызовов.

License

Notifications You must be signed in to change notification settings

gusenov/seq-exec-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Класс SeqExec и его методы

Файл seq-exec.js содержит класс SeqExec предназначенный для организации последовательного исполнения JS-функций посредством механизма обратного вызова.

Методы класса SeqExec:

Название метода Описание
chain Позволяет объединить функции в цепочку из последовательно выполняющихся функций.
loop Позволяет последовательно выполнить серию повторяющихся операций.

Примеры

Простой пример: цепочка последовательно выполняющихся функций

В нижеприведённом примере ключевую роль играет вызов функции next(), только после которого происходит переход к исполнению следующей функции:

SeqExec.chain(function (next) {
    console.log("1");
    next(); // перейти к исполнению следующей функции в цепочке
}).then(function (next) {
    console.log("2");
    next(); // перейти к исполнению следующей функции в цепочке
}).then(function (next) {
    console.log("3");
});

Вывод:

$ node example1.js
Example 1:
1
2
3

Простой пример: циклы

В качестве простого примера, демонстрирующего суть метода SeqExec.loop(loopBodyCallback, stopConditionCallback) можно привести альтернативную реализацию циклов для JavaScript, без использования конструкций for и while:

var idx = 1;
SeqExec.loop(function loopBody(cont) {
    console.log(idx);
    idx += 1;
    cont(); // continue
}, function stopCondition() {
    return idx > 10 ? true : false;
});

Вывод:

$ node example2.js
Example 2:
1
2
3
4
5
6
7
8
9
10

Установка в свой проект

$ npm install seq-exec --save

Публикация npm-пакета

Фиксация изменений:

$ git add .
$ git commit -S -m "0.0.1"
$ git tag -s v0.0.1 -m 'signed 0.0.1 tag'

или

$ npm version patch

Отправка на github.com:

$ git push --tags origin master:master

Отправка на npmjs.com:

$ npm login
$ npm config ls
$ npm publish

Дополнительные пояснения к коду

ООП в JavaScript:

Синхронность и асинхронность в JavaScript:

Промисы:

Создание npm-пакета:

Node.js:

JSLint:

Git:

About

Скрипт для организации последовательного исполнения JS-функций посредством механизма обратных вызовов.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published