Redeem service result http in another function

1
 controllerPrincipalService.getResultado(id).then(function(dados)
    {
        // limpando o retorno
        var p = data.search("{")-1;
        var res = data.substring(76);
        var f = res.search('<');
        dados = data.substring(p, p+f);
        resultado = JSON.parse(dados);
    });

    function pegaResultado(resultado){
        ///trabalhar com o resultado do service a cima.
        console.log(resultado);

    }

How can I work with the result of my service above in a separate function? Service is bringing a json vi $ http.get

    
asked by anonymous 02.04.2014 / 15:44

2 answers

2

You need to get the get callback to work with the return.

What you can do is put a watch on that variable and add it to the scope.

$scope.resultado = undefined;
controllerPrincipalService.getResultado(id).then(function(dados)
{
    // limpando o retorno
    var p = data.search("{")-1;
    var res = data.substring(76);
    var f = res.search('<');
    dados = data.substring(p, p+f);
    $scope.resultado = JSON.parse(dados);
});

$scope.$watch('resultado', function(newVal, oldVal){
    ///trabalhar com o resultado do service
    console.log(newVal);
}
    
02.04.2014 / 19:52
1

Stores its result in a global (scope) object or variable and calls a function that makes use of this value.

var globalResultado = null;
controllerPrincipalService.getResultado(id).then(function(dados)
{
    globalResultado = JSON.parse(dados);
    pegaResultado(); //Ou qqr parte do codigo
}

function pegaResultado(){
    ///trabalhar com o resultado do service acima.
    console.log(globalResultado);
}
    
02.04.2014 / 16:02