return new Promise(function(resolve, reject){
Object.keys(schemaPaths).forEach(function(path){
switch(schemaPaths[path].instance){
case 'String' :
return cs(schemaPaths[path], data[path]).catch(function(e){
console.error(e);
reject(e);
});
break;
default :
return reject('default');
break;
};
});
resolve()
});
UPD. Видать поздний час сказывается, невнимательно прочитал код.
function wtf(){
var promise;
Object.keys(schemaPaths).forEach(function(path){
switch(schemaPaths[path].instance){
case 'String' :
if(!promise){
promise = cs(schemaPaths[path], data[path]).catch(function(e){
console.error(e);
return Promise.reject(e);
});
}
break;
default :
if(!promise) promise = Promise.reject('default');
break;
};
});
return promise;
}
Но это в целом какой-то бред. Что этот код делает? Действительна будет только первая итерация по Object.keys(schemaPaths[path]), потому что после нее в любом случае promise будет уже установлен и все остальные итерации впустую.