나는 node.js를 사용하여 반환 할 DNS 조회를 수행하고 IP 주소 (http://nodejs.org/api/dns.html)를 사용하고 있습니다. 이 예제에서는 콜백 범위를 벗어나는 변수에 액세스 할 수 있지만 내 결과가 올바르게 기록되도록 할 수 있습니다. 이것이 어떻게 가능할까요?콜백에서 값을 반환하는 방법
내 현재 코드 :
var domain = 'google.co.uk';
dns.lookup(domain, function (err, aRecord) {
if (err) throw err;
console.log(aRecord);
});
이상적으로, 나는의 라인을 따라 뭔가를 수행 할 수 있도록하고 싶습니다 :
var domain = 'google.co.uk';
var myfunction = dns.lookup(domain, function (err, aRecord) {
if (err) throw err;
return aRecord;
});
var result = myfuction(domain);
불가능합니다. 그렇다면 콜백을 제공 할 필요가 없습니다. 동기 및 비동기 코드에 대한 설명은 [내 대답은 여기] (http://stackoverflow.com/a/14220323/218196)의 첫 번째 부분을 참조하십시오. –
이 dup dup의 잠재적 Dup : http://stackoverflow.com/questions/6847697/how-to-return-value-from-callback-function. – Mogsdad
합리적인 해결 방법은 [here] (http://stackoverflow.com/a/6847754/1677912)에 설명되어 있습니다. – Mogsdad