jq-callback回调对象

"Hello World, Hello Blog"

Posted by wudimingwo on December 15, 2018

解决的是一个异步问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function dy (list,callback) {
            setTimeout(function () {
              var task = list.shift();
              task();
              if (list.length > 0) {
              	setTimeout(arguments.callee,1000);
              } else{
              	callback();
              }
            	
            },25);
          }
          
          dy([
            function () {
            	alert('a');
            },
            function () {
              alert('b');
            }
          ],
          function () {
          	alert('callback');
          });


jq提供的方法 image.png

1
2
3
4
5
6
7
8
9
10
11
用例
var callbacks = $.Callbacks('once');
          callbacks.add(function () {
          	alert('a');
          })
          callbacks.add(function () {
          	alert('b');
          })
          
          callbacks.fire();
          callbacks.fire();