비동기 처리를 보장받기 위해 사용하는 Promise 객체, 혹은 이를 생성하여 사용하는 함수
function getValue() {
return new Promise( function(res, rej) => {
//logic
//Promise 비동기 처리를 할 logic을 resolve 인자에 넣는다.
res(logic)
})
}
// 위 Promise 비동기처리를 통해 반환받은 logic 결과를
// 아래에서는 value 변수에 저장한다.
value = getValue().then(function)
getValue().then(function(value))
callback이나 closure를 통해 Promise logic을 실행하여, resolve를 선언하여 해당 Promise 함수의 이행 logic을 구현할 수 있다.
해당 Promise로부터 별도의 value 구현없이도, 인자를 통해서 반환값을 그대로 얻을 수 있다는 점(function(value))을 기억한다!
도메인 주소를 입력받아 IP주소를 반환받기위해 사용하는 npm
addresses.forEach((a) => {
dns.reverse(a, (err, hostnames) => {
if (err) throw err;
console.log(hostnames);
console.log(`reverse for ${a}, ${JSON.stringify(hostnames)}`);
});
});
}
//reverse for IP address, www.google.com
reserve를 통해 IP주소(a) , hostname array(hostnames)를 받환받는다.
Promise와 마찬가지로, 비구조화 방식으로 반환값을 인자를 통해 그대로 받는 형식이다.
reverse for 216.58.197.238, ["nrt13s49-in-f14.1e100.net","nrt13s49-in-f238.1e100.net"]
DNS 모듈을 통해 도메인 주소로부터 역으로 IP주소를 반환받기 위한 함수.
callback / closure 개념
https://velog.io/@gyrbs22/node.js-1%EA%B0%95callbackcloser
DNS reverse
https://velog.io/@gyrbs22/node.js-DNS-module-resolve-JSON.stringify
Promise
https://joshua1988.github.io/web-development/javascript/promise-for-beginners/