Viết hàm mô phỏng request mạng bằng setTimeout, trả về Promise resolve nếu thành công, reject nếu thất bại.
Giải pháp
Mã triển khai:
const expectedSumToBe = (num1, num2, res) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (num1 + num2 === res) {
resolve('success');
} else {
reject('failure');
}
}, 3000);
});
};
// Test
expectedSumToBe(45, 48, 93)
.then(data => console.log(data))
.catch(err => console.log(err));
expectedSumToBe(23, 56, 76)
.then(data => console.log(data))
.catch(err => console.log(err));
Kết quả
Đầu ra trong console (sau 3 giây):
success
failure
Giải thích: 45+48=93 → resolve. 23+56=79≠76 → reject.