1. 回调函数 f1(); f2(); function f1(callback) { setTimeout(function() { // f1的任务代码 callback(); }, 1000); } f1(f2); 2. 事件监听 f1.on(‘done‘, f2); function f1() { setTimeout(function() { // f1的任务代码 f1.trigger(‘done‘); }, 1000); } 3. 发布 / 订阅 jQuery.subscribe("done", f2); function f1() { setTimeout(function() { // f1的任务代码 jQuery.publish("done"); }, 1000); } jQuery.unsubscribe("done", f2); 4. Promises对象 f1().then(f2); function f1() { var dfd = $.Deferred(); setTimeout(function() { // f1的任务代码 dfd.resolve(); }, 500); return dfd.promise; } 指定多个回调函数: f1().then(f2).then(f3); 指定发生错误时的回调函数: f1().then(f2).fail(f3);
时间: 2024-10-09 04:06:47