SOURCE


async function getResponse(index){
    return new Promise((resolve,reject)=>{
        setTimeout(()=>{
            resolve(index)
            console.log(1000)
        },1000)
    })
}

function serial(tasks){
	let result = [];
	 return tasks.reduce((accumulator,item,index)=>{
	    return accumulator.then(res=>{
		    return getResponse(item).then(res=>{
                result[index] = res
                return index == tasks.length - 1 ? result : item
            })
	    })
	},Promise.resolve())
}

async function hha(){
   const a =  await serial([1,2,3,4]);
   console.log(a,'--aaaa---')
}
hha()
console 命令行工具 X clear

                    
>
console