util.js 390 B

1234567891011121314151617
  1. 'use strict'
  2. module.exports.promisify = promisify
  3. function promisify (f) {
  4. const util = require('util')
  5. if (util.promisify) {
  6. return util.promisify(f)
  7. } else {
  8. return function () {
  9. return new Promise((resolve, reject) => {
  10. f.apply(this, [].slice.call(arguments).concat((err, val) => {
  11. err ? reject(err) : resolve(val)
  12. }))
  13. })
  14. }
  15. }
  16. }