Есть ли «лучший» способ обещать и вызывать функцию метода? - PullRequest
1 голос
/ 27 апреля 2020

На мой взгляд, существует три способа выполнить обещание и вызвать функцию метода за один раз:

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}

Являются ли какие-либо из этих методов более предпочтительными, чем другие, или все они одинаково действительны? Каковы преимущества и недостатки каждого?

...