added error handling

This commit is contained in:
GotPPay
2017-10-29 14:06:34 +01:00
parent e73c8e0f67
commit 2278c0c7ca
2 changed files with 25 additions and 10 deletions

View File

@@ -109,7 +109,7 @@ function getPairs(callback){
if(err) { if(err) {
// Handle error // Handle error
console.log(err); console.log(err);
return null; callback(null, true);
} else { } else {
const pairs = []; const pairs = [];
@@ -126,7 +126,7 @@ function getPairs(callback){
pairs.push({name1:name1,name2:name2}); pairs.push({name1:name1,name2:name2});
} }
} }
callback(pairs); callback(pairs,false);
} }
}); });
} }
@@ -143,7 +143,7 @@ function getAvailableNames(callback){
if(err) { if(err) {
// Handle error // Handle error
console.log(err); console.log(err);
return null; callback(null, true);
} else { } else {
const names = []; const names = [];
@@ -159,7 +159,7 @@ function getAvailableNames(callback){
} }
} }
callback(names); callback(names,false);
} }
}); });
} }
@@ -218,8 +218,18 @@ function count_pairs(row, col, cntr){
} }
function MakePairsV3(callback){ function MakePairsV3(callback){
executeAPI(getAvailableNames,function(names){ executeAPI(getAvailableNames,function(names,error){
executeAPI(getPairs, function(pairs){ if (error){
console.log("Error - could not load names");
callback.send({pairs: null, left: null, error: true, error_message: 'Could not load names list'});
return;
}
executeAPI(getPairs, function(pairs,error){
if (error){
console.log("Error - could not load pairs");
callback.send({pairs: null, left: null, error: true, error_message: 'Could not load pairs list'});
return;
}
max_pairs = Math.floor(names.length/2); max_pairs = Math.floor(names.length/2);
matrix=[]; matrix=[];
@@ -244,8 +254,6 @@ function MakePairsV3(callback){
} }
}); });
tree = []; tree = [];
done=false; done=false;
@@ -289,9 +297,10 @@ function MakePairsV3(callback){
if (names.length === 0) names=null; if (names.length === 0) names=null;
pairsForSave = result_pairs; pairsForSave = result_pairs;
callback.send({pairs: result_pairs, left: names}); callback.send({pairs: result_pairs, left: names, error:false});
}); });
}); });
} }
function SavePairs(callback){ function SavePairs(callback){

View File

@@ -21,7 +21,7 @@ class App extends Component {
this.setState({waitingPairs:true, renderFinish:false, waitingSave:true}); this.setState({waitingPairs:true, renderFinish:false, waitingSave:true});
fetch(url, {}).then(function(response) { return response.json(); }).then(function(data) { fetch(url, {}).then(function(response) { return response.json(); }).then(function(data) {
this.setState({pairs : data.pairs, left:data.left, renderPairsList:true, waitingPairs:false, waitingSave:false}); this.setState({pairs : data.pairs, left:data.left, renderPairsList:!data.error, waitingPairs:false, waitingSave:false, error: data.error, error_message: data.error_message});
}.bind(this)); }.bind(this));
@@ -46,6 +46,12 @@ class App extends Component {
<div className = "horizontalDiv"> <div className = "horizontalDiv">
<button disabled={this.state.waitingPairs} onClick = {this.getPairsEventHandler}>Get pairs</button> <button disabled={this.state.waitingPairs} onClick = {this.getPairsEventHandler}>Get pairs</button>
</div> </div>
{
this.state.error &&
<div>
<h2> Error - {this.state.error_message} </h2>
</div>
}
{ {
this.state.renderPairsList && this.state.renderPairsList &&
<div> <div>