2017-02-15 20 views
-2

私はajax呼び出しから値を取得し、その値をコールバック関数に渡す必要がある状況があります。私はのgetValueを呼び出し、返された値を使用して(それを警告する)コールバック関数に渡す必要がありfunctonのshowValueで上記の例でコールバックの入力引数として出力を渡します。

function getValue(callback){ 
    var val = getfromajax(); 
    //need to return value and then execute the callback here 
    return val; 
    callback(); 
} 

var myval = getValue(function(){ 
    alert(myvalue) 
}) 

:ただ、このような。

これを行う方法はありますか?

+1

'getfromajax()' *はその名前が示すように非同期*ですか? – David

+0

はい、実際はajax()関数です。 – Lamar

+1

あなたは最もよく読んでいます:[非同期呼び出しからの応答を返すにはどうすればいいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call )。あなたはすでに 'getfromajax() 'に問題があります – charlietfl

答えて

0

あなただけgetfromajaxが非同期である場合、これは動作しないという議論

function getValue(callback){ 
    var val = getfromajax(); 

    callback(val); 
} 

var myval = getValue(function(myvalue){ 
    alert(myvalue) 
}); 

注意として、コールバック関数に渡したいです。

+0

getValueはステートメントを返さなければなりません、" var myval "は実際に何をしますか? – Lamar

+0

実際それは、ありがとう!ところで、getfromajaxは$ .ajax()呼び出しのエイリアスで、.done()スコープにvalを代入しています。 – Lamar

関連する問題