GenPromises
by Jose Montero
JavaScript
var GenProm = (function(){
return{
arr: [{id: '1'}, {id: '2'}],
process : function(id)
{
return new Promise((resolve, reject) => {
resolve("Processing ID: "+id);
});
},
deleteItems : function*()
{
yield* this.arr;
},
execute : function()
{
var obj = it.next();
var id = '';
if(!obj.done)
{
console.log("OBJ: "+obj.value.id);
id = obj.value.id;
}
return new Promise((resolve, reject) => {
console.log(obj.done)
if(!obj.done)
this.process(id).then((msg) =>{
console.log(msg);
this.execute();
resolve(id);
});
else
console.log("ALL DONE!")
});
}
};
})();
var it = GenProm.deleteItems();
GenProm.execute().then((id) => console.log("ID: "+id+" processed!"))
//GenProm.execute().then((id) => console.log("ID: "+id+" processed!"))
//execute().then((id) => console.log("ID: "+id+" processed!"))