Я использую bluebird для разработки некоторой оболочки API-интерфейса nodejs для службы http. Многие функции в этой оболочке являются асинхронными, поэтому имеет смысл возвращать промисы из этой реализации.
Мой коллега работает над проектом уже несколько дней и вырисовывается интересный паттерн, он тоже возвращает промисы из синхронно реализованных функций.
Пример:
function parseArray(someArray){
var result;
// synchronous implementation
return Promise.resolve(result);
}
Я вижу, как это может быть полезно, если позже реализацию нужно будет сделать асинхронной, так как вам не придется реорганизовывать сайты вызовов. Я думаю, также хорошо, что все методы последовательно «асинхронны», но я не уверен, насколько это круто.
Считается ли это плохой практикой, есть ли причины, по которым мы не должны этого делать?
cast
вернуть функцию, я не вижу причин не предоставлять непосредственно используемое значение. - person Denys Séguret   schedule 18.03.2014