// promise 는 콜백함수를 쓰기 싫을때 쓴다.
// var 프로미스 = new Promise(function (reolve, reject) {
// var 어려운 연산 = 1+1
// });
var 프로미스 = new Promise(function (성공, 실패) {
setTimeout(function () {
var 어려운연산 = 1 + 1;
성공(어려운연산);
}, 1000);
});
프로미스
.then(function (결과) {
console.log(결과);
})
.catch(function () {
console.log("실패했어요.");
});
//프로미스가 성공일 경우 실행할 코드 (콜백함수)
//옆으로 길어지지 않아서 굿.
// 실패한 후 이렇게 해주세요. catch 기능 제공.
//finally 제공 (성공이든, 실패든 이걸 해주세요.)
//promise 는 성공실패 판정기계
///성공하면, resolved,
//진행중 pending
//실패하면 reject
//동기를 비동기로 바꿔주는 게 아님
// 그냥 스타일임.
//promise 가 적용된 것.
//$.ajax().done(function(){}).fall()
// fetch() //프로미스를 항상 리턴함.
//fetch().then(function(){}).catch()
var 프로미스2 = new Promise(function (resolve, reject) {
document.querySelector("#test").addEventListener("load", function () {
resolve("성공");
});
document.querySelector("#test").addEventListener("error", function () {
reject("실패");
});
});
프로미스2.then(function (결과) {
console.log(결과);
});
var 프로미스3 = new Promise(function (resolve, reject) {
$.get("https://codingapple1.github.io/hello.txt").done(function (결과) {
resolve(결과);
});
});
프로미스3.then(function (결과) {
console.log(결과);
});
프로미스3
.then(function (결과) {
console.log(결과);
var 프로미스4 = new Promise(function (성공, 실패) {
$.get("https://codingapple1.github.io/hello2.txt").done(function (
결과
) {
성공(결과);
});
});
return 프로미스4;
})
.then(function (결과) {
console.log(결과);
});