new promise resolve code example
Example 1: promise resolve reject
function testFunction(value) {
return new Promise(function (resoleve, reject) {
setTimeout(function () {
let n = value;
if (n < 100) {
resoleve("範囲内");
} else {
reject("範囲外");
}
}, 2000);
})
}
testFunction(10)
.then(function (value) {
console.log(value);
return testFunction(50);
})
.then(function (value) {
console.log(value);
return testFunction(150);
})
.catch(function (error) {
console.log(`エラーです。${error}`);
})
Example 2: making promises in js
getData()
.then(data => console.log(data))
.catch(error => console.log(error));
Example 3: resolve vs return promise js
In simple terms, inside a then handler function:
A) When x is a value (number, string, etc):
- return x is equivalent to return Promise.resolve(x)
- throw x is equivalent to return Promise.reject(x)
B) When x is a Promise that is already settled (not
pending anymore):
- return x is equivalent to return Promise.resolve(x),
if the Promise was already resolved.
- return x is equivalent to return Promise.reject(x),
if the Promise was already rejected.
C) When x is a Promise that is pending:
- return x will return a pending Promise, and it will
be evaluated on the subsequent then.
Read more on this topic on the Promise.prototype.then() docs.
Example 4: promise resolve reject
function testFunction() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
resolve('hello!');
}, 1000);
})
}
testFunction()
.then(function (value) {
console.log(value);
})
.catch(function (error) {
console.log(error);
})
Example 5: promise resolve reject
function testFunction(value) {
return new Promise(function (resoleve, reject) {
setTimeout(function () {
let n = value;
if(n<100){
resoleve("範囲内");
}else{
reject("範囲外");
}
}, 2000);
})
}
testFunction(1000)
.then(function (value) {
console.log(value);
})
.catch(function(error){
console.log(`エラーです。${error}`);
})