const global1 = 1000000
const global2 = 2000000
const global3 = 3000000
const global4 = 4000000
const global5 = 5000000
const global6 = 6000000
class dbCtrl {
static async getData( ...arg ) {
let data = await new Promise( resolve => {
setTimeout( resolve, 500 )
})
//db.get( ...arg ).catch( /*logIfBud*/ )
return data && data.toString('utf8').split(',')
}
}
class dataCtrl {
constructor( name ) {
this.name = name
}
async getName() {
let count = 0
let data
while( !this.tryFinish && /*Temporary:*/ (count++) < 5000 &&
!(data = await dbCtrl.getData( this.name ))
) {
this.tryVariations()
}
this.fullName = data
return this.fullName
}
tryVariations() {
this.name = this.name.replace(/"/g, '')
}
}
class mainCtrl {
constructor() {
this.names = ['david', 'aharon']
}
async getAllNames() {
this.fullNames = await Promise.all(
this.names.map( n=> new dataCtrl(n).getName() )
)
}
}
new mainCtrl().getAllNames()
הקוד הזה עובד בסדר
אבל האמיתי לא
אולי בגלל שיש שם גלובלים שנכלאים (closer) ומשוכפלים בפונקציות?