Playing with Promises
by db_dev
HTML
<input type="checkbox" id="toggle">
<label for="myValue">Current Node</label>
<input type="text" id="myValue">
<button type="button" id="submit">Submit</button>
<textarea id="returnToMe" class="box"></textarea>
SCSS
.box {
border: solid 1px purple;
background: purple;
color: #fff;
border-radius: 10px;
width: 500px;
height: 100px;
margin-top: 20px;
padding: 12px;
}
JavaScript
let thisIsOn = false;
let checkIsOn = function() {
return new Promise(function(resolve, reject) {
if (thisIsOn){
resolve("This is On");
}else {
reject("This is Off!");
}
});
};
let isInputFilled = function(message) {
return new Promise(function(resolve, reject) {
let myVal = $("#myValue").val();
if(!myVal.length == 0){
resolve(message + " " + myVal);
}
else {
reject(message + ". Input is empty");
}
});
};
let winIceCream = function(p) {
return new Promise(function(resolve, reject) {
resolve(message + " won Icecream");
});
};
$("#toggle").change(function(){
thisIsOn = !thisIsOn;
});
// One of them
$("#submit").click(function() {
//let myVal = $("#myValue").val();
checkIsOn().then(function(result){
$("#returnToMe").text(result);
return isInputFilled(result);
}).then(function(result){
console.log(result);
});
});