在网上看到的,觉得很巧妙, 便记录下来

let arr = [123,4,56,12,345,22,4,78,90];

function sleepSort(arr,fn){
	let temp = [],i=0;
	arr.forEach(el => {
	setTimeout(() => {
		i++;
		temp.push(el);
		if(i == arr.length){
			fn.call(this,temp);
		}
	},el);
});
}
sleepSort(arr,(s) => console.log(s));

blob.png