let findlist = async (ctx, next) => { // for(let i in reptilelist){ // let a = await reptilelist[i].find(ctx.query.name) // // list.push({name:reptilelist[i].name,list: [...a]}) // for(let j in a){ // let has = true // for(let k in list){ // if(list[k].name == a[j].name){ // if(list[k].list == undefined){ // list[k].list = [] // } // has = false // list[k].list.push({name:reptilelist[i].name,url:a[j].url,date:a[j].date,update:a[j].update}) // } // } // if(has){ // list.push({name:a[j].name,list:[{name:reptilelist[i].name,url:a[j].url,date:a[j].date,update:a[j].update}]}) // } // } // } let pro = [] let list = [] for (let i in reptilelist) { pro.push(reptilelist[i].find(ctx.query.name)) } await Promise.allSettled(pro).then((res) => { for (let i in res) { if(i.status == "fulfilled"){ console.log(res[i].value.list) for (let j in res[i].value.list) { let has = true for (let k in list) { if (list[k].name == res[i].value.list[j].name) { if (list[k].list == undefined) { list[k].list = [] } has = false list[k].list.push({ name: res[i].value.name, url: res[i].value.list[j].url, date: res[i].value.list[j].date, update: res[i].value.list[j].update }) } } if (has) { list.push({ name: res[i].value.list[j].name, list: [{ name: res[i].value.name, url: res[i].value.list[j].url, date: res[i].value.list[j].date, update: res[i].value.list[j].update }] }) } } } } }) ctx.body = JSON.stringify(list) } let section = async (ctx, next) => { for (let i in reptilelist) { if (ctx.query.name == reptilelist[i].name) { ctx.body = await reptilelist[i].section(ctx.query.url) } } } let picture = async (ctx, next) => { for (let i in reptilelist) { if (ctx.query.name == reptilelist[i].name) { // console.log(await reptilelist[i].imglist(ctx.query.url)) ctx.body = await reptilelist[i].imglist(ctx.query.url) } } } module.exports = { 'GET /find': findlist, 'GET /section': section, 'GET /picture': picture }