README
nv-facutil-new-promise
- nv-facutil-new-promise is a simple-util for promise
- extends serveral methods for Promise
- state,final,store rslt/exception
- manual-interupt when pending
install
- npm install nv-facutil-new-promise
usage
example
const fac_nprom = require("nv-facutil-new-promise");
const {NPromise} = require("nv-facutil-new-promise")
resolve
var p = new NPromise(
(rs,rj) => {
setTimeout(
()=>{rs("succ")},
15000
)
}
)
> p.state
'pending'
> p
Promise { <pending> }
> p.rslt
<pending>
> p
Promise { 'succ' }
> p.rslt
'succ'
> p.final
'succ'
> p.exception
Uncaught Error: use-rslt-or-final
> p.then(r=>{console.log(r)})
> succ
> p.finally(()=>{console.log("finished")})
> finished
> p.state
'resolved'
>
> Array.from(p)
[
[ 'rslt', 'succ' ],
[ 'exception', undefined ],
[ 'state', 'resolved' ]
]
>
reject
var p = new NPromise(
(rs,rj) => {
setTimeout(
()=>{rj("fail")},
15000
)
}
)
> p.state
'pending'
> p.exception
'fail'
>
> p.state
'rejected'
> p
Promise { <rejected> 'fail' }
>
> p.final
'fail'
>
> p.rslt
Uncaught Error: use-rejected-or-final
> p.catch(err=>{console.log(err)})
> fail
> p.finally(()=>{console.log("finished")})
> finished
manual interupt
var p = new NPromise(
(rs,rj) => {
setTimeout(
()=>{rj("fail")},
15000
)
}
);
> p.manual_resolve("manual")
undefined
> p
Promise { 'manual' }
>
METHODS
p.rslt p.exception p.final
p.state
p.is_pending p.is_rejected p.is_resolved
p.is_settled
p.manual_reject p.manual_resolve p.rslt
p.then p.catch p.finally
APIS
fac_np.NPromise(f) fac_np.ERROR_DICT fac_np.PENDING
LICENSE
- ISC