I've seen this function a few times, probably worth refactoring

    function resolveWithDeferred(deferred) { 
        var otherArgs = _.tail(arguments);
        return function errorToDeferred(error) {
           if(error)
              return deferred.reject(error);
           deferred.resolve(otherArgs.concat(_.tail(arguments)));
       }
    }

Use it like so:

     errorToDeferred(deferSort, sortedFeatures)