There is no point in returning a promise in synchronous methods.
Promises provide an abstraction over concurrency. When there is no concurrency involved such as when providing an array. Returning a promise makes for worse flow control and is considerably slower.
This is also conveying the wrong message. In fact, promisifying things with no reason is quite a common anti pattern.
One case where it is useful is when a method might be asynchronous - for example: fetching something from cache or making a request for it if it's not there:
function getData(id){
if(cache.has(id) return Promise.cast(cache.get(id));
return AsyncService.fetch(id).tap(cache.put);
}