File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -46,13 +46,13 @@ export class WifiScanProvider {
46
46
try {
47
47
for ( let i = 0 ; i < grouping ; i ++ ) {
48
48
const result = await this . adapter . acquireWifiFingerprint ( true ) ;
49
- subscriber . next ( result ) ;
50
- if ( i !== grouping - 1 ) {
51
- await new Promise ( ( resolve ) =>
52
- setTimeout ( resolve , MIN_SCAN_INTERVAL )
53
- ) ;
54
- }
55
49
if ( unsubscribed ) break ;
50
+ subscriber . next ( result ) ;
51
+
52
+ if ( i === grouping - 1 ) break ;
53
+ await new Promise ( ( resolve ) =>
54
+ setTimeout ( resolve , MIN_SCAN_INTERVAL )
55
+ ) ;
56
56
}
57
57
} catch ( err ) {
58
58
if ( continueOnFailure ) {
@@ -80,9 +80,11 @@ export class WifiScanProvider {
80
80
continueOnFailure : boolean
81
81
) : Observable < WifiFingerprint > {
82
82
return new Observable < WifiFingerprint > ( ( subscriber ) => {
83
+ let unsubscribed = false ;
83
84
const performScan = async ( ) => {
84
85
try {
85
86
const result = await this . adapter . acquireWifiFingerprint ( false ) ;
87
+ if ( unsubscribed ) return ;
86
88
subscriber . next ( result ) ;
87
89
} catch ( err ) {
88
90
if ( continueOnFailure ) {
@@ -99,6 +101,7 @@ export class WifiScanProvider {
99
101
} , interval ) ;
100
102
101
103
return ( ) => {
104
+ unsubscribed = true ;
102
105
clearInterval ( intervalId ) ;
103
106
} ;
104
107
} ) ;
You can’t perform that action at this time.
0 commit comments