2014-12-30 2 views
0

У меня есть эта функция. Но как я могу получить данные из моих двух файлов txt? Я хочу, чтобы значения tho Tabt были в моих предупреждениях.Как вернуть данные из функций в функции

 function getWeight(){ 

      var fileKevin = "https://dl.dropboxusercontent.com/s/mytextfile1.txt"; 
      var fileHeidi = "https://dl.dropboxusercontent.com/s/mytextfile1.txt"; 


      //GET DATA FOR KEVIN 
      $.get(fileKevin,function(txt){ 
       var lines = txt.split("\n"); 

       var total = parseInt(lines.length) 
       var first = parseInt(0) 
       var last = parseInt(total-1) 
       var prev = parseInt(total-2) 

       var NuVaegt = (splitWeight(lines[last],1)) 
       var StartVaegt = splitWeight(lines[first],1); 
       var ForrigeVaegt = splitWeight(lines[prev],1) 
       var Tabt = decimal((NuVaegt-StartVaegt),1) 
       var Sidst = decimal((NuVaegt-ForrigeVaegt),1) 
       return Tabt; 
      }); 

      //GET DATA FOR HEIDI 
      $.get(fileHeidi,function(txt){ 
       var lines = txt.split("\n"); 

       var total = parseInt(lines.length) 
       var first = parseInt(0) 
       var last = parseInt(total-1) 
       var prev = parseInt(total-2) 

       var NuVaegt = (splitWeight(lines[last],1)) 
       var StartVaegt = splitWeight(lines[first],1); 
       var ForrigeVaegt = splitWeight(lines[prev],1) 
       var Tabt = decimal((NuVaegt-StartVaegt),1) 
       var Sidst = decimal((NuVaegt-ForrigeVaegt),1) 
       return Tabt; 


      }); 

     alert(Tabt) //function Kevin 
     alert(Tabt) //function Heidi 


     };//end getWeight 

Вы можете мне помочь?

Пожалуйста, игнорируйте это: добавление текста добавление текста

добавление текста

добавление текста

ответ

2

вы не можете вернуть данные из асинхронной функции, такие как $.get, вы должны использовать обратные вызовы. Что вы получаете обратно отсрочена или обещать объекты, которые можно сгруппировать следующим образом:

var call1 = $.get(fileKevin... 
var call2 = $.get(fileHeidi... 

$.when(call1, call2).done(function (txtKevin, txtHeidi) { 

фотографии $.when

вы, вероятно, следует реорганизовать, так как вы дублируется код

пример:

function getWeight() { 

    var fileKevin = "https://dl.dropboxusercontent.com/s/mytextfile1.txt"; 
    var fileHeidi = "https://dl.dropboxusercontent.com/s/mytextfile1.txt"; 

    $.when(
     $.get(fileKevin), 
     $.get(fileHeidi) 
    ).done(function (txtKevin, txtHeidi) { 
     var weightKevin = parseWeight(txtKevin), 
      weightHeidi = parseWeight(txtHeidi); 
     console.log(weightKevin, weightHeidi); 
     // here you will call any function that has to use those values like: 
     // doSomething(weightKevin, weightHeidi); 
    }); 

    function parseWeight(txt) { 
     var lines = txt.split("\n"); 

     var total = parseInt(lines.length) 
     var first = parseInt(0) 
     var last = parseInt(total-1) 
     var prev = parseInt(total-2) 

     var NuVaegt = (splitWeight(lines[last],1)) 
     var StartVaegt = splitWeight(lines[first],1); 
     var ForrigeVaegt = splitWeight(lines[prev],1) 
     var Tabt = decimal((NuVaegt-StartVaegt),1) 
     var Sidst = decimal((NuVaegt-ForrigeVaegt),1) 
     return Tabt; 
    } 

}; 
Смежные вопросы