Promise.map
This commit is contained in:
parent
0021fe7ccd
commit
05d7b83eba
29
zimmer.js
29
zimmer.js
|
@ -1408,19 +1408,17 @@ async function initialise () {
|
||||||
async function rawLoader () {
|
async function rawLoader () {
|
||||||
const dirs = [ '' ]
|
const dirs = [ '' ]
|
||||||
|
|
||||||
function parseDirEntry ( path ) {
|
async function parseDirEntry ( path ) {
|
||||||
if ( path == 'metadata.csv' || path == 'redirects.csv' )
|
if ( path == 'metadata.csv' || path == 'redirects.csv' )
|
||||||
return Promise.resolve()
|
return
|
||||||
|
|
||||||
return fs.lstat( fullPath( path ))
|
const stats = await fs.lstat( fullPath( path ))
|
||||||
.then( stats => {
|
if ( stats.isDirectory())
|
||||||
if ( stats.isDirectory())
|
return dirs.push( path )
|
||||||
return dirs.push( path )
|
if ( stats.isFile() || stats.isSymbolicLink()) {
|
||||||
if ( stats.isFile() || stats.isSymbolicLink()) {
|
return new RawFile( path ).process()
|
||||||
return new RawFile( path ).process()
|
}
|
||||||
}
|
throw new Error( 'Invalid dir entry ' + absPath )
|
||||||
return Promise.reject( new Error( 'Invalid dir entry ' + absPath ))
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log( 'rawLoader start' )
|
log( 'rawLoader start' )
|
||||||
|
@ -1428,11 +1426,10 @@ async function rawLoader () {
|
||||||
for ( let path; ( path = dirs.shift()) != null; ) {
|
for ( let path; ( path = dirs.shift()) != null; ) {
|
||||||
log( 'scanDirectory', path )
|
log( 'scanDirectory', path )
|
||||||
|
|
||||||
await Promise.map(
|
const dirlist = await fs.readdir( fullPath( path ))
|
||||||
fs.readdir( fullPath( path )),
|
for ( let fname of dirlist ) {
|
||||||
fname => parseDirEntry( osPath.join( path, fname )),
|
await parseDirEntry( osPath.join( path, fname ))
|
||||||
{ concurrency: 8 }
|
}
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log( 'rawLoader finished !!!!!!!!!' )
|
log( 'rawLoader finished !!!!!!!!!' )
|
||||||
|
|
Loading…
Reference in New Issue
Block a user