Skocz do zawartości

zmichal

Rejestracja: 18 kwi 2013
Poza forum Ostatnio: mar 12 2014 19:52
-----

Moje tematy

Javascript zwracanie wartośći, zakończenie wykonywania skryptu

07 marca 2014 - 21:13

Witam,
Mam stworzony w Mobile Service w usłudze Azure. Dodatkowo mam utworzone tam własne API, które jest skryptem Javascript na silniku node.js.

Mam problem ze zwróceniem wartośći funkcji która jest wywoływana z innej funkcji.
function2 wywołuje function1, po wykonaniu się function1 powinna zwrócić wartość result albo zakończyć wyonywanie wszytskich skryptów w API. Niestety jeżeli zwracanm wartosc to jest ona "undefined", a przerwa wykonywanie mi się nie udaje.

function1:

function function1(item,response) {
    var buf ='';
    var net = require('net');
    var HOST = 'xxx.xxx.xxx.xxx';
    var PORT = xxxx;

    var client = new net.Socket();
    client.setTimeout(100000, function() {
        console.log("Timeout");
        response.send(500, "Timeout");
    });

    client.connect(PORT, HOST, function() {
        client.write(item + "\n");
        client.on('data', function(data) {
            buf = buf + data.toString('utf-8');         
        });

        client.on('close', function() {
        });

        client.on('end', function() {
            if (buf.length > 1) {    
                    var result = JSON.parse(buf);
                    if ( result.Avaiable) {                                                   
                         console.log('Odpowiedz ' + buf);
                         return result;
                         //w tym momencie zwracana jest wartosc, albo powinno byc przerwane wykonywanie się skryptów
                    }
            }           
             client.destroy();             
        });                                      
    });  
}

function2:

function function2(results, response, item) {
    var json = JSON.stringify(item,response);      
    var wynik = function1(json,response);
    response.send(200,wynik);
    console.log(json);
}