@@ -22,6 +22,8 @@ class USBWorkflow extends Workflow {
2222 this . _uid = null ;
2323 this . _readLoopPromise = null ;
2424 this . _messageCallback = null ;
25+ this . _btnSelectHostFolderCallback = null ;
26+ this . _btnUseHostFolderCallback = null ;
2527 }
2628
2729 async init ( params ) {
@@ -164,11 +166,18 @@ class USBWorkflow extends Workflow {
164166 btnRequestSerialDevice . removeEventListener ( 'click' , serialConnect ) ;
165167 btnRequestSerialDevice . addEventListener ( 'click' , serialConnect ) ;
166168
167- btnSelectHostFolder . removeEventListener ( 'click' , this . _selectHostFolder ) ;
168- 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+
169175
170- btnUseHostFolder . removeEventListener ( 'click' , this . _useHostFolder ) ;
171- 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 ) ;
172181
173182 // Check if WebSerial is available
174183 if ( ! ( await this . available ( ) instanceof Error ) ) {
0 commit comments