( ) , .
, , repl:
const repl=require('repl');
function replEvalPromise(cmd,ctx,filename,cb) {
let result=eval(cmd);
if (result instanceof Promise) {
return result
.then(response=>cb(null,response));
}
return cb(null, result);
}
repl.start({ prompt: 'promise-aware> ', eval: replEvalPromise });
REPL , :
$ node sample-repl.js
promise-aware> new Promise(resolve=>setTimeout(()=>resolve('Finished!'),5000));
'Finished!'
promise-aware> out = new Promise(resolve=>setTimeout(()=>resolve('Finished!'),5000));
'Finished!'
promise-aware> out
'Finished!'
promise-aware>
, .
node REPL :
> out = new Promise(resolve=>setTimeout(()=>resolve('Finished!'),5000));
Promise { <pending> }
> out
Promise { <pending> }
> out
Promise { <pending> }
> out
Promise { <pending> }
> out
Promise { 'Finished!' }
>