以下是一个使用「回调函数」的 JS 代码示例:
function getData(callback) { // 模拟从服务器获取数据 setTimeout(function() { var data = { name: "Andy", age: 18 }; callback(data); }, 1000); } function showData(data) { console.log("姓名: " + data.name); console.log("年龄: " + data.age); } // 调用 getData 函数,并传入 showData 函数作为回调函数 getData(showData);
本例中,getData
函数模拟从服务端获取数据,获取到数据后紧接着调用传入的「回调函数」(将获取到的数据作为参数传入回调函数中)。
上述代码可以体现出回调函数的一个好处:不会阻塞程序的执行。
因为从服务器获取数据需要一定的时间,如果直接调用getData
函数来获取数据,那么程序就会阻塞在这,直到数据获取完成才能继续执行。
但我们通过使用回调函数,就可以在数据获取完成后再执行相应的操作,如此一来,就不会阻塞程序的执行了。