2016-02-26 118 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); //这里也是来自另一个函数的回调值 });' –

相关问题