function testmaker(param){
let number=param;
function asynctest(e){
return new Promise(function(resolve,reject){
resolve(e*number)
});
}
return asynctest;
}
function testresolve(param){
let number=param;
function asynctest(e){
return Promise.resolve(e*number);
}
return asynctest;
}
let start =1 ;
testmaker(2)(start)
.then(testmaker(3))
.then(testmaker(4))
.then(result => {
console.log(result)//24
});
testresolve(2)(1)
.then(testresolve(3))
.then(testresolve(4))
.then(result => {
console.log(result)//24
});
Promise.resolve()는 resolve를 리턴 하지 않아도 함수가 끝나면 컨텍스트가 종료된다.
new Promsise는 resolve를 받는 시점에 종료된다.
asynctest 라는 함수에 비동기 통신을 넣을때 명확히 할게된다.