2016-02-26 120 views
0

我正在處理javascript中某些函數的問題。 所以我有這樣的例子從其他函數接收變量的函數

function(something) { 
    var example = 1; 
    var example2 = 2;  
      NameReturn(nameBusinessID, function(no) { 
        console.log(no); 
        //here is one callback value from another function 

       }); 
      typeReturn(object, function(na) { 
        console.log(na); 
        //here is also a callback value from another function 
       }); 
     view(example, example2); 
} 
function vliew(example, example2) { 
    console.log(example, example2); 
    //but here i want also to console.log the variables "no" and "na" 
} 

所以這是我的問題,有沒有什麼方法可以達到我想要什麼?

我不知道如何使這兩個變量,「不」和「吶」將它們傳遞給函數「查看」 任何人都可以幫忙嗎?謝謝!

回答

0

的骯髒的方式

function(something) { 
    var example = 1; 
    var example2 = 2;  
      NameReturn(nameBusinessID, function(no) { 
        console.log(no); 
        //here is one callback value from another function 
        typeReturn(object, function(na) { 
         console.log(na); 
        //here is also a callback value from another function 
        view(example, example2,no, na); 
        }); 
       }); 


} 
function vliew(_example, _example2,_no,_na) { 
    console.log(_example) 
    console.log(_example2) 
    console.log(_no) 
    console.log(_na) 

} 

UPDATE

我稍微修改你的使用情況和implimented again.you可以在此校驗碼。

我正在偵聽按鈕單擊回調和更新常見object.once中的值。所有四個值都可用,我調用視圖函數。

單擊這兩個按鈕,你會看到結果。

function collector() { 
 
    this.counter = 0; 
 
    this.obj = {}; 
 
    this.setValues = function(name, value) { 
 
    this.counter++; 
 
    this.obj[name] = value; 
 
    if (this.counter == 4) { 
 
     view(this.obj.example, this.obj.example2, this.obj.no, this.obj.na); 
 
    } 
 
    }; 
 

 

 
} 
 

 
function view(example, example1, a, b) { 
 
    $('.result').append('example :' + example + '<br>'); 
 
    $('.result').append('example2 :' + example1 + '<br>'); 
 
    $('.result').append('na :' + a + '<br>'); 
 
    $('.result').append('no :' + b + '<br>'); 
 
} 
 

 
function load() { 
 

 
    var example = 1; 
 
    var example2 = 2; 
 
    var valueCollector = new collector(); 
 

 
    $('.no').on('click', function() { 
 
    var no = 3; 
 
    valueCollector.setValues('no', no); 
 
    }); 
 
    $('.na').click(function() { 
 
    var na = 4; 
 
    valueCollector.setValues('na', na); 
 
    }); 
 
    valueCollector.setValues('example', example); 
 
    valueCollector.setValues('example2', example2); 
 

 
} 
 

 
load();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="no">no</button> 
 
<button class="na">na</button> 
 
<div class="result"></div>

+0

我希望所有的4個變量在視圖功能傳遞! –

+0

檢查更新的答案 –

+0

確定它的工作原理,但並不完美,回電的2個功能必須保持單獨! 您有其他內部之一,但我希望它是這樣 'NameReturn(nameBusinessID,功能(無){ 的console.log(無); // 這裏是從另一個功能 一個回調值}) ; 類型返回(對象,函數(na){ console.log(na); //這裏也是來自另一個函數的回調值 });' –

相關問題