@@ -8,10 +8,10 @@ angular.module('datatables.instances', [])
8
8
function dtInstances ( $q ) {
9
9
var _instances = { } ;
10
10
// Promise for fetching the last DT instance
11
- var _deferLastDTInstances = null ;
11
+ var _deferLastDTInstance = $q . defer ( ) ;
12
12
var _lastDTInstance = null ;
13
13
// Promise for fetching the list of DT instances
14
- var _deferDTInstances = null ;
14
+ var _deferDTInstances = $q . defer ( ) ;
15
15
var _dtInstances = null ;
16
16
return {
17
17
register : register ,
@@ -25,46 +25,38 @@ function dtInstances($q) {
25
25
dtInstance . dataTable = result . dataTable ;
26
26
27
27
_instances [ dtInstance . id ] = dtInstance ;
28
- if ( _deferLastDTInstances ) {
29
- _deferLastDTInstances . resolve ( dtInstance ) ;
30
- }
31
- if ( _deferDTInstances ) {
32
- _deferDTInstances . resolve ( _instances ) ;
33
- }
28
+ _lastDTInstance = dtInstance ;
29
+
30
+ //previous promise
31
+ _deferDTInstances . resolve ( _instances ) ;
32
+ _deferLastDTInstance . resolve ( _lastDTInstance ) ;
33
+
34
+ //new promise
35
+ _deferDTInstances = $q . defer ( ) ;
36
+ _deferLastDTInstance = $q . defer ( ) ;
37
+
38
+ _deferDTInstances . resolve ( _instances ) ;
39
+ _deferLastDTInstance . resolve ( _lastDTInstance ) ;
40
+
34
41
return dtInstance ;
35
42
}
36
43
37
44
function getLast ( ) {
38
45
var defer = $q . defer ( ) ;
39
- if ( ! _lastDTInstance ) {
40
- _deferLastDTInstances = $q . defer ( ) ;
41
- _lastDTInstance = _deferLastDTInstances . promise ;
42
- }
43
- _lastDTInstance . then ( function ( dtInstance ) {
44
- defer . resolve ( dtInstance ) ;
45
- // Reset the promise
46
- _deferLastDTInstances = null ;
47
- _lastDTInstance = null ;
46
+ _deferLastDTInstance . promise . then ( function ( lastInstance ) {
47
+ defer . resolve ( lastInstance ) ;
48
48
} ) ;
49
49
return defer . promise ;
50
50
}
51
51
52
52
function getList ( ) {
53
53
var defer = $q . defer ( ) ;
54
- if ( ! _dtInstances ) {
55
- _deferDTInstances = $q . defer ( ) ;
56
- _dtInstances = _deferDTInstances . promise ;
57
- }
58
- _dtInstances . then ( function ( instances ) {
54
+ _deferDTInstances . promise . then ( function ( instances ) {
59
55
defer . resolve ( instances ) ;
60
- // Reset the promise
61
- _deferDTInstances = null ;
62
- _dtInstances = null ;
63
56
} ) ;
64
57
return defer . promise ;
65
58
}
66
59
}
67
-
68
60
function dtInstanceFactory ( ) {
69
61
var DTInstance = {
70
62
reloadData : reloadData ,
0 commit comments