2017-02-28 2 views
1

이 코드를 가지고 :자체 콜백 함수에서 함수의 반환 값을 사용하는 방법은 무엇입니까?

가 어떻게 자신의 콜백 함수의 내부 roaming_prices_from의 반환 값을 사용할 수 있습니다

$('#from_country').change(function() { 
    var selected_from = $(this).find('option:selected'); 
    var country = roaming_prices_from(selected_from.val(), function() { 
     console.log(country); 
    }); 
? 당신이 당신의 roaming_prices_from 함수 내에서 값을 전달해야이 작업을 수행 할 수 있지만 콜백 매개 변수로 함수의 반환 값을 전달하여

+0

콜백에 인수로 값을 전달하는 것은'roaming_prices_from'의 책임입니다. 이 함수를 변경하거나 함수를 콜백으로 사용하지 마십시오 (예 :'callback (roaming_prices_from (selected_from.val()));) –

+0

'country'를 호출 할 때 콜백 메소드에 전달할 수없는 이유는 무엇입니까? 'roaming_prices_from' 메소드에서? – Satpal

+0

은 다음과 같습니다. 'var country = roaming_prices_from (selected_from.val(), function (country) { console.log (country); }); 이 dosnt는 작동하는 것처럼 보이지만 이것이 맞으면. 그러면 다른 곳에 잘못이있을 수 있습니다. –

답변

2

,

$('#from_country').change(function() { 
    var selected_from = $(this).find('option:selected'); 
    var country = roaming_prices_from(selected_from.val(), function (xCountry) { 
     console.log(xCountry); 
    }); 
}); 

우리는 가정합니다 그 기능 roaming_prices_from 것 다음과 같은 수 : -

function roaming_prices_from(value, callback) { 
    ..... 
    callback(returnedValue); 
    ..... 
    return returnedValue; 
} 
0

당신은 roaming_prices_from은 국가 v를 해결할 수 있다고 생각합니다 즉, 그 함수는 Promise.resolve(country)을 가질 것이고, 콜백 (국가를 출력 함)은 country을 매개 변수로받습니다.

관련 문제