在我看来,一次性promisify和调用方法函数有三种方法:
const { promisify } = require('util');
const obj = {
method: function (param, callback) {
// Do something async with `this`
callback(err, result);
}
};
promisify(obj.method.bind(obj))(arg).then(doSomething); // {1}
promisify(obj.method).bind(obj)(arg).then(doSomething); // {2}
promisify(obj.method).call(obj, arg).then(doSomething); // {3}
这些方法中是否有任何一种优于其他方法,或者它们都同样有效?各自的优点和缺点是什么?