Hey @everyone,
this will be a quick tip / reference. Sometimes I get asked about the syntax to promisify only one function with the bluebird Promise Library. I will show you an example to promisify the readdir method of the fs package:
'use strict' const fs = require('fs') const Promise = require('bluebird') const readdirAsync = Promise.promisify(fs.readdir)
That´s it already. Before your code looked somewhat like this:
fs.readdir(myPath, (err, files) => { // Handle the files })
If you needed to do further asynchronous operations you came into the callback hell (1).
Promisifying it make the syntax clearer and more elegant:
readdirAsync(myPath) .then(files => { // Handle the files })
You see, now you are in the promise chain, which makes elegant and readable code easier to achieve.
And you don´t have to be extra careful about using Promises and callbacks at the same time.
Yours sincerely,
Frank
(1) // https://blog.syntonic.io/2017/07/07/escaping-callback-hell-util-promisify/