0
A
回答
0
如果我正确理解你的问题,你有一个场景是这样的:
function gotUserName(name) {
alert('User name is: ' + name);
}
function getUserName(id) {
getAjax('/getuser/' + id, gotUserName);
}
function getAjax(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
callback(xhr.responseText);
}
};
xhr.open("GET", url, true);
xhr.send();
}
如果你问的不是你为什么要通过gotUserName
作为回调,然后调用callback
,直接从getAjax
函数调用gotUserName
?
虽然这肯定是可能的,但简单的答案是,getAjax
可以用于更多的ajax请求,而不仅仅是获取用户名。您通过回调不会使其可用,但为了避免在getAjax
内部对其进行硬编码。
+0
感谢David。明白了你的观点 – Zeeshan
相关问题
- 1. 为什么我已经通过自制
- 2. JavaScript:为什么checkLeaf在scope已经允许访问时需要参数?
- 3. 为什么要传递一个通用的类型时,它已经知道
- 4. 为什么我需要=(class)...当我已经宣布课程时?
- 5. 为什么jqueryAjax回调函数不需要被调用?
- 6. 为什么createBackgroundSubtractorGMG被认为已经过时,我该如何使用它
- 7. 为什么某些OCaml函数需要()作为参数?
- 8. 什么是仿函数,为什么我们需要它们?
- 9. 为什么UdpClient.Receive需要ref参数?
- 10. 为什么Python需要“self”参数?
- 11. 为什么要将回调参数设计为模块?
- 12. 需要为已经错过了工作流活动
- 13. JavaScript即时函数调用 - 为什么函数需要括号?
- 14. 为什么ivars在iOS中不需要时可可需要?
- 15. 当我们已经有mapDispatchToProps时,为什么我们需要使用redux-thunk
- 16. 为什么要命名返回参数?
- 17. 什么是python中的类,它做什么,它为什么需要它?
- 18. 为什么回调函数在类中声明时需要是静态的
- 19. 为什么我们需要传递module.exports作为参数,因为我们已经将模块作为参数传递了?
- 20. 什么时候应该通过一个类作为参数?
- 21. 为什么Source.fromIterator需要Function0 [Iterator [T]]作为参数而不是Iterator [T]?
- 22. 为什么将字典作为参数传递需要更多时间?
- 23. out参数 - 为什么它不工作
- 24. 什么Java函数offsetByCodePoints真的需要作为参数?
- 25. 我的RewriteRule通过.htaccess发生了什么问题? (为什么它需要RewriteBase?)
- 26. 为什么在调用我的javascript函数时需要'javascript:'?
- 27. 外键可为空。为什么需要?
- 28. 为什么我需要在使用它作为ThreadStart()参数时重载该方法?
- 29. 为什么它需要将类标记为可序列化?
- 30. Windows上的Spark - 什么是winutils,为什么我们需要它?
因此,目标函数知道哪个全局可用函数要调用? (如果这不是一个令人满意的答案:请指出您的意思,并附带示例代码?) –
“虽然它已经在全球范围内可用”---而*在全球范围内有哪些*? – zerkms
@zerkms:我的意思是说全球范围内已提供被调用函数 – Zeeshan