File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -308,8 +308,10 @@ async function _foreach(data, resolver) {
308308 }
309309 const event = new EventEmitter ( ) ;
310310 let datas = _deep_clone ( data ) ;
311+ let keys = [ ] ;
311312 if ( is . object ( data ) ) {
312- datas = Object . keys ( data ) . map ( ( d ) => data [ d ] ) ;
313+ keys = Object . keys ( data ) ;
314+ datas = keys . map ( ( d ) => data [ d ] ) ;
313315 } else if ( ! is . array ( data ) ) {
314316 throw new Error ( 'Unsupported data type : ' + typeof data ) ;
315317 }
@@ -320,8 +322,9 @@ async function _foreach(data, resolver) {
320322 event . emit ( 'done' ) ;
321323 return ;
322324 }
323- resolver ( row , index ) . then ( ( ) => {
324- index ++ ;
325+ const i = typeof keys [ index ] !== 'undefined' ? keys [ index ] : index ;
326+ index ++ ;
327+ resolver ( row , i ) . then ( ( ) => {
325328 event . emit ( 'step' , rows , resolver , index ) ;
326329 } ) . catch ( ( err ) => event . emit ( 'error' , err ) ) ;
327330 } ) ;
You can’t perform that action at this time.
0 commit comments