File tree Expand file tree Collapse file tree 1 file changed +21
-21
lines changed Expand file tree Collapse file tree 1 file changed +21
-21
lines changed Original file line number Diff line number Diff line change 10
10
Description: when you pass function A to function B as a parameter, function A is a callback function
11
11
*/
12
12
13
+ var complexComputation = function ( ) { /* do some complex stuff and return a node */ } ;
14
+
13
15
var findNodes = function ( callback ) {
14
- var i = 100000 ,
15
- nodes = [ ] ,
16
- found ;
17
-
18
- // check if callback is callable
19
- if ( typeof callback !== "function" ) {
20
- callback = false ;
21
- }
22
-
23
- while ( i ) {
24
- i -= 1 ;
25
-
26
- // complex logic here...
27
-
28
- // now callback:
29
- if ( callback ) {
30
- callback ( found ) ;
31
- }
32
-
33
- nodes . push ( found ) ;
16
+ var nodes = [ ] ;
17
+
18
+ // check if callback is callable
19
+ if ( typeof callback !== "function" ) {
20
+ callback = false ;
34
21
}
22
+
23
+ var node = complexComputation ( ) ;
24
+
25
+ if ( callback ) {
26
+ callback ( node ) ;
27
+ }
28
+
29
+ nodes . push ( node ) ;
35
30
return nodes ;
36
31
} ;
37
32
41
36
} ;
42
37
43
38
// find the nodes and hide them as you go
44
- findNodes ( hide ) ;
39
+ var hiddenNodes = findNodes ( hide ) ;
40
+
41
+ // you can also use an anonymous function, like this:
42
+ var blockNodes = findNodes ( function ( node ) {
43
+ node . style . display = 'block' ;
44
+ } ) ;
45
45
46
46
// reference
47
47
// http://www.jspatterns.com/
You can’t perform that action at this time.
0 commit comments