vários `.then ()` s em uma única angularjs prometem - todos usam dados _original_

Estou escrevendo um aplicativo angularjs confiando em promessas e, embora esteja funcionando, gostaria de saber se poderia fazê-lo da melhor maneira possível.

No começo do código, estou criando uma promessa que busca buscar alguns dados. Quando isso for feito, desejo executar várias funções que todos usam esses dados. As funções estão anexadas em partes não relacionadas do aplicativo, portanto, não sei a ordem em que estão anexadas à promessa. Eles também não precisam ser feitos em sequência.

app.service("Fetch", function ($q){
    return function() {
        var def = $q.defer();
        somelibrary.asynccall(function(error, data){ //callback
            if (error) def.reject(error);
            else def.resolve(data);
        });
        return def.promise;
    };
});

app.controller("ctrl", function ($scope, Fetch) {
    var prom = Fetch();

    //somewhere:
    prom.then(function(data){$scope.var1 = data["VAR1"];});
    //somewhere else:
    prom.then(function(data){$scope.var2 = data["VAR2"]});
});

A principal desvantagem aqui é que quanto mais tardethens são executados somente quando os anteriores forem concluídos, o que não é necessário aqui.

Além disso, preciso adicionarreturn data dentro de cadafunction(data){...}, caso contrário, o seguintethen() não tem odata acessível.

Não existe outra maneira de fazer isso, mais apta para essa situação?

EDIT: como mencionado por @ jfriend00, eu estava enganado; de fato, as duas funções funcionam paralelamente, assim que a promessa é resolvida com sucesso, e elas não são encadeadas e, portanto, não dependem uma da outra. Obrigado pela ajuda

questionAnswers(2)

yourAnswerToTheQuestion