2.1.3 • Published 1 year ago

the-promise v2.1.3

Weekly downloads
216
License
MIT
Repository
github
Last release
1 year ago

Node.js BlueBird Promsie Extension Library

Enhances BlueBird promise library with useful capabilites.

Promise.serial

Used for running multiple promises in sequence. If one operation fails the processing fails, root promise stops execution and fails.

Signature:

Promise.serial(items, callback) : returns Promise.

callback can return Promise. In those cases root Promise will wait this Promise to succeed before proceeding to next iten.

Usage:

var items = ['cat', 'dog', 'elephant'];
Promise.serial(items, x => {
    return doSomething(x);
})
.then(() => console.log("All Items Processed!"))

function doSomething(name)
{
    return db.insert(name);
}

Promise.parallel

Used for running multiple promises in parallel. If one operation fails the processing should continue. Nevertheles the top promise should fail.

Signature:

Promise.parallel(items, callback) : returns Promise.

callback can return Promise. The top Promise should wait for all inner Promises to finish processing.

Usage:

var items = ['cat', 'dog', 'elephant'];
Promise.serial(items, x => {
    return doSomething(x);
})
.then(() => console.log("All Items Processed!"))

function doSomething(name)
{
    return db.insert(name);
}

Promise.timeout

Promise which waits and resolves in specified amount of time.

Signature:

Promise.timeout(ms) : returns Promise.

Usage:

var items = ['cat', 'dog', 'elephant'];
Promise.serial(items, x => {
    return doSomething(x);
})
.

function doSomething(name)
{
    return db.insert(name);
}

Promise.retry

Enables retry capability.

Signature:

Promise.retry(action, number, timeout, canContinueCb) : returns Promise.

action: action to perform. Can return Promise.

number: maximum number of times to retry.

timeout: timeout in ms to retry.

canContinueCb: An optional callback which tells whether a particual retry can be executed

Usage 1:

return Promise.retry(() => doSomething(), 3, 1000);

function doSomething()
{
    return db.insert('Example');
}

Usage 2:

Promise.retry(() => doSomething(), 3, 1000, () => {
    if (new Date().getHours() > 10) {
        return false;
    }
    return true;
});

function doSomething()
{
    return db.insert('Example');
}

Publishing

$ ./publish.sh

Updating NPM Key

$ travis encrypt <NPM-KEY-GOES-HERE> --add deploy.api_key
2.1.2

1 year ago

2.1.1

1 year ago

2.1.3

1 year ago

2.0.15

2 years ago

2.0.13

3 years ago

2.0.9

3 years ago

2.0.11

3 years ago

2.0.12

3 years ago

2.0.10

3 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.4

3 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

1.3.10

4 years ago

2.0.0

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.35

6 years ago

1.0.34

6 years ago

1.0.33

6 years ago

1.0.32

6 years ago

1.0.31

6 years ago

1.0.30

6 years ago

1.0.28

6 years ago

1.0.27

6 years ago

1.0.26

6 years ago

1.0.25

6 years ago

1.0.24

6 years ago

1.0.23

6 years ago

1.0.22

6 years ago

1.0.21

6 years ago

1.0.19

6 years ago

1.0.18

6 years ago

1.0.17

6 years ago

1.0.16

6 years ago

1.0.15

6 years ago

1.0.14

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago