後の戻り値を取得し、私はちょうど今、私はSetTimeout
後return
文を処理したい、名前で関数を呼び出すことについて尋ねてきました:のSetTimeout
function ECall(funcName, arg)
{
command += "(";
for (var i=1; i<arguments.length; i++)
{
command += "'" + arguments[i] + "'";
if (i != arguments.length-1) command += ',';
}
command += ")";
//var funcPtr = eval(funcName);
//return funcPtr(arg); // This works, but I need SetTimeout
setTimeout('window[\'' + funcName + '\']' + command, 1000);
}
setTimeout
は素晴らしい作品が、私は呼び出された関数の戻り値を保存する必要があります。書き込み時:setTimeout('alert(window[\'' + funcName + '\']' + command + ')', 1000);
関数の戻り値を警告します。どうすれば保存できますか?
に渡す関数内の変数に代入?それを行う方法はありますか? – Ockonal
@Ockonal:私は私の答えで警告を使いましたが、@ Tim Downは同じ考え方を彼の答えで示しています(http://stackoverflow.com/questions/5211103/get-return-value-after-settimeout/5211190# 5211190)、結果をあらかじめ定義された変数に格納します(これはあなたが望んでいたようです)。値は 'setTimeout'が実行されるまで利用できません。 – user113716