2015-02-13 3 views
0

Мне интересно, можно ли установить функцию, содержащую функцию обратного вызова, в качестве параметра другой функции, которая также выполняет обратный вызов. Пример вызов обратного вызова в другом обратном вызове js

function save(err, data, cb){}; 

function get(id, cb){}; 

get('12', save)?

+0

Большое спасибо, ребята. Это было полезно ;-) – poulo

ответ

0

Конечно, переменная может передаваться как аргумент функции! Это может быть яснее для вас, если вы:

// This also works with the notation `function save(...)` 
 
var save = function(err, data, cb) { 
 
     alert('save' + err); // save12 
 
    }, 
 
    get = function(id, cb) { 
 
     alert('get' + id); // get12 
 
     cb(id); // This call the "save" function 
 
    } 
 
; 
 

 
get('12', save);

Просто будьте осторожны, чтобы не укладывать свой обратный вызов слишком много или вы войдете в callback hell мире!

0

Да, вы можете проверить этот пример:

jsFiddle Example

jQuery(document).ready(function() { 
    function1({ 
     param: "1", 
     callback: function() { 
      function2({ 
       param : "2", 
       callback: function(){ 
        alert("hello"); 
       } 
      }) 
     } 
    });  
}); 

function function1(params){ 
    alert(params.param); 
    params.callback(); 
} 

function function2(params){ 
    alert(params.param); 
    params.callback(); 
} 

Я надеюсь, что это будет полезно.

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