Anti-pattern or acceptable way of using Promises? Whenever I need to use a Promise interface in my NodeJs code and I don't have a promise to start off with, I do this:

var someResultPromise = Q.resolve()
    .then(function () {
        var something = 'value';

        var anotherPromise = callFunctionThatReturnsPromise(something)
            .then(function (result) {
                return processing(result);
            });

        return anotherPromise;
    });


Is this a good way to do it? If no, why not?
The Q.resolve() and the outer then(function() {...}) are not necessary. Your code will simplify to ...

var something = 'value';
var someResultPromise = callFunctionThatReturnsPromise(something).then(function (result) {
    return processing(result);
});


... and in general that is what we would write.

However sometimes it's advantageous to start a promise chain with a resolved promise, even if it's not strictly necessary.

For example, we might want a chain such as ...

var promise = doSomethingAsync()
    .then(doSomethingAsync)
    .then(doSomethingAsync)
    .then(doSomethingAsync);


... but we might choose to write ...

var promise = Q.resolve()
    .then(doSomethingAsync)
    .then(doSomethingAsync)
    .then(doSomethingAsync)
    .then(doSomethingAsync);


... which is functionally identical but easier on the eye because it allows the first doSomethingAsync to be coded the same as all the others; it does not appear to be a special case.