मैं सिर्फ नाम से कार्यों बुला के बारे में पूछा है, अब मैं return
के बाद बयान SetTimeout
कार्रवाई करने के लिए करना चाहते हैं:वापसी मान जाओ के बाद 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);
यह कार्य का वापसी मूल्य अलर्ट करता है। मैं इसे कैसे स्टोर कर सकता हूं?
को पारित आप ने लिखा है कि यह, setTimeout के बाद वापसी मान प्राप्त करने के लिए असंभव है सही में एक चर के लिए असाइन करें? क्या ऐसा करने के कोई तरीके हैं? – Ockonal
@ ओकोनल: मैंने अपने जवाब में एक चेतावनी का उपयोग किया, लेकिन @ टिम डाउन उसी अवधारणा को दिखाता है [उसके जवाब में] (http://stackoverflow.com/questions/5211103/get-return-value-after-settimeout/5211190# 52111 9 0), लेकिन परिणाम को प्री-डिफ़ाइंड वैरिएबल में स्टोर करता है (जो आप चाहते हैं)। मान निश्चित रूप से 'सेटटाइमआउट' रन तक उपलब्ध नहीं होगा। – user113716