async-decorators
v0.1.5
Published
async-await and 'promise methods' decorators
Downloads
13
Maintainers
Readme
There are some helpfull decorators in this project for async class methods and functions.
#Install
npm install --save async-decorators
#Import
import {memoize, serialize, isSkipError} from 'async-decorators';
#Memoize decorator
has parameters expireMs
and cacheSize
usage:
class Action {
@memoize({expireMs: K_EXPIRE_MS, cacheSize: 256})
async query(p1, p2) {
return await getDataAsync({p1, p2});
}
}
or just
const asyncFn = memoize(async (x) => {
return await ....
});
See example source
npm run example_memoize
and test source
npm run test_memoize
#Serialize decorator Serializes async method calls. (Make a new async call only if previous is completed) If there are more than one pending async calls, skip all but the last.
usage:
class Action {
@serialize()
async query(p1, p2) {
return await getDataAsync({p1, p2});
}
}
or just
const sfn = serialize(async (x) => {
return await ....
})
See example source
npm run example_serialize
#Both decorator usage
class Action {
@serialize()
@memoize({expireMs: K_EXPIRE_MS})
async query(p1, p2) {
return await getDataAsync({p1, p2});
}
}
See example source
npm run example_ser_memoize