4 ms·
Can you recommend please some of these non CB based libraries?
by gotchange 9y ago
Can you recommend please some of these non CB based libraries?
- Klathmon 9y agoThe only one i've used before is Bluebird's `promisifyAll` method. So when you require libraries, you can do so like: const fs = Promise.promisifyAll(require('fs')) // ... later const fileContents = await fs.readFileAsync('filename.txt') Basically it just adds "Async" after all functions that use node style callbacks.
- karmelapple 9y agosupertest-as-promised is pretty great for testing purposes.
- mikewhy 9y agoRegular supertest supports promises.
- shawndellysse 9y agomz (https://www.npmjs.com/package/mz https://www.npmjs.com/package/mz) is my go-to. You just prefix the core lib ("fs") with "mz/" ("mz/fs") and you get the promised version. const fs = require("fs"); fs.exists(`${ __dirname }/1`, (exists1) => { fs.exists(`${ __dirname }/2`, (exists2) => { console.log(JSON.stringify([exists1, exists2])); }); }); vs const fs = require("mz/fs"); Promise.all([ fs.exists(`${ __dirname }/1`), fs.exists(`${ __dirname }/2`), ]) .then((existers) => { console.log(JSON.stringify(existers)); }); Or const fs = require("mz/fs"); (async () => { console.log(JSON.stringify(await Promise.all([ fs.exists(`${ __dirname }/1`), fs.exists(`${ __dirname }/2`), ]))); })();