use generator function to iterator array.
yield forEach([1, 2, 3], function*(value) {
let first = yield new Promise(function(resolve, reject) {
resolve(value);
});
let sec = yield new Promise(function(resolve, reject) {
resolve(value);
});
....
}
MIT