@@ -691,23 +691,31 @@ export class ManagedStorage {
691
691
static get < T > ( key : string ) : T | undefined ;
692
692
static get < T > ( key : string , defaultValue : T ) : T ;
693
693
static get < T > ( key : string , defaultValue ?: T ) {
694
- return new Promise ( ( resolve : ( result : T | undefined ) => void ) => {
695
- if ( chrome . storage . managed ) {
696
- chrome . storage . managed . get ( ( data ) => {
697
- if ( chrome . runtime . lastError ) {
698
- return resolve ( defaultValue ) ;
699
- }
700
- if ( data ) {
701
- if ( data [ key ] ) {
702
- return resolve ( data [ key ] ) ;
694
+ const managedStoragePromise = new Promise (
695
+ ( resolve : ( result : T | undefined ) => void ) => {
696
+ if ( chrome . storage . managed ) {
697
+ chrome . storage . managed . get ( ( data ) => {
698
+ if ( chrome . runtime . lastError ) {
699
+ return resolve ( defaultValue ) ;
703
700
}
704
- }
705
- return resolve ( defaultValue ) ;
706
- } ) ;
707
- } else {
708
- // no available in Safari
709
- resolve ( defaultValue ) ;
701
+ if ( data ) {
702
+ if ( data [ key ] ) {
703
+ return resolve ( data [ key ] ) ;
704
+ }
705
+ }
706
+ return resolve ( defaultValue ) ;
707
+ } ) ;
708
+ } else {
709
+ // no available in Safari
710
+ resolve ( defaultValue ) ;
711
+ }
710
712
}
713
+ ) ;
714
+
715
+ const timeoutPromise = new Promise ( ( resolve ) => {
716
+ setTimeout ( ( ) => resolve ( defaultValue ) , 10 ) ;
711
717
} ) ;
718
+
719
+ return Promise . race ( [ managedStoragePromise , timeoutPromise ] ) ;
712
720
}
713
721
}
0 commit comments