@@ -21,6 +21,9 @@ class USBWorkflow extends Workflow {
2121 this . _partialToken = null ;
2222 this . _uid = null ;
2323 this . _readLoopPromise = null ;
24+ this . _btnSelectHostFolderCallback = null ;
25+ this . _btnUseHostFolderCallback = null ;
26+
2427 }
2528
2629 async init ( params ) {
@@ -163,11 +166,18 @@ class USBWorkflow extends Workflow {
163166 btnRequestSerialDevice . removeEventListener ( 'click' , serialConnect ) ;
164167 btnRequestSerialDevice . addEventListener ( 'click' , serialConnect ) ;
165168
166- btnSelectHostFolder . removeEventListener ( 'click' , this . _selectHostFolder ) ;
167- btnSelectHostFolder . addEventListener ( 'click' , this . _selectHostFolder ) ;
169+ btnSelectHostFolder . removeEventListener ( 'click' , this . _btnSelectHostFolderCallback )
170+ this . _btnSelectHostFolderCallback = async ( event ) => {
171+ await this . _selectHostFolder ( ) ;
172+ } ;
173+ btnSelectHostFolder . addEventListener ( 'click' , this . _btnSelectHostFolderCallback ) ;
174+
168175
169- btnUseHostFolder . removeEventListener ( 'click' , this . _useHostFolder ) ;
170- btnUseHostFolder . addEventListener ( 'click' , this . _useHostFolder ) ;
176+ btnUseHostFolder . removeEventListener ( 'click' , this . _btnUseHostFolderCallback ) ;
177+ this . _btnUseHostFolderCallback = async ( event ) => {
178+ await this . _useHostFolder ( ) ;
179+ }
180+ btnUseHostFolder . addEventListener ( 'click' , this . _btnUseHostFolderCallback ) ;
171181
172182 // Check if WebSerial is available
173183 if ( ! ( await this . available ( ) instanceof Error ) ) {
0 commit comments