gpt4 book ai didi

javascript - 是否允许 JS 嵌套回调?

转载 作者:行者123 更新时间:2023-11-30 09:28:57 25 4
gpt4 key购买 nike

我正在尝试为 JS 回调运行一个 w3schools 示例,它在第一个回调中运行正常并显示“该段落现在已隐藏正常”,但不是第二个警报,我做错了什么?还是不允许嵌套回调?

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").hide("slow", function(){
alert("The paragraph is now hidden OK", function(){
alert("2nd alert FAIL");
});
});
});
});

</script>
</head>
<body>

<button>Hide</button>

<p>This is a paragraph with little content.</p>

</body>
</html>

编辑 1:
我需要做什么才能支持我的自定义函数回调?
编辑 2
已解决,只支持一个函数回调:

​// A function that takes two parameters, the last one a callback function​
​function getInput (options, callback) {
allUserData.push (options);
callback (options);

}

最佳答案

alert不提供回调。 alert 是 1990 年代的错误,它会在显示警报时使浏览器的主要 JavaScript 线程突然停止,因此在这种特殊情况下,只需将您当前拥有的代码放在 after< 的回调中/em> 警报。 (或者更好:不要使用 alert。:-))alert(以及 promptconfirm)是整体“不要阻塞线程”规则的不合时宜的异常(exception)。

没有理由其他同样嵌套的回调不起作用。他们确实这样做了:

$(document).ready(function(){
$("button").click(function(){
$("p").hide("slow", function(){
alert("The paragraph is now hidden OK");
alert("2nd alert FAIL");
});
});
});
<button>Hide</button>
<p>This is a paragraph with little content.</p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

关于javascript - 是否允许 JS 嵌套回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47577721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com