1個ずつ順番に待って実行したいってことか
それならreduce使えば良いんじゃない?
ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
delay = v => new Promise( ok => setTimeout( ( ) => ok( v ), 100 ) )

sum = ary.reduce( ( s, n ) => s + n ) //55

sum = await ary.reduce( async ( s, n ) => await s + await delay( n ) ) //55