Javascript 然后不抛出错误
使用$.get promise(jquery 3.3.1)不会显示任何错误,这使得调试无法进行Javascript 然后不抛出错误,javascript,jquery,promise,Javascript,Jquery,Promise,使用$.get promise(jquery 3.3.1)不会显示任何错误,这使得调试无法进行 $.get('/').then(function() { console.log(undef) }) fetch('/').then(function() { console.log(undef) }) 第一个示例是静默的,没有抛出错误 第二个示例按预期抛出“Uncaught(in promise)ReferenceError:undef未定义” 这是一个jquery错误还是我用错
$.get('/').then(function() {
console.log(undef)
})
fetch('/').then(function() {
console.log(undef)
})
第一个示例是静默的,没有抛出错误
第二个示例按预期抛出“Uncaught(in promise)ReferenceError:undef未定义”
这是一个jquery错误还是我用错了?
你如何建议改用fetch?我担心浏览器的兼容性这是出于设计<代码>然后()仅在请求成功完成时执行 如果您想知道请求何时失败,请添加处理程序:
您可以在链中添加fail函数:
$.get('/').then(function() {
console.log(undef);
})
.fail(function(){
console.log("Error");
})
你好,奥福斯特!是否尝试将.catch(函数(){})链接到.then()之后?这就是捕获错误的地方(一个选项)。另外,您正在尝试console.log一个我认为在任何地方都没有定义的值(unde)。您的代码中是否有为变量“unde”设置值的地方?我无法复制您的问题。在JS示例中,使用
$.get()
:,正确抛出该错误。如果您的意思是错误来自AJAX请求本身,那么请参阅下面关于使用$使用fail()
的答案。get promise(jquery 3.3.1)不会显示任何错误-它会使用您提供的代码抛出错误,其中$.get
成功并进入。然后@saglamcem yes,使用.catch解决了这个问题。我故意使用“undef”来产生错误。jquery的问题是,使用chrome控制台时,只有在警告处于活动状态时才会出现错误,我通常会一直打开警告off@orfaust哇,显然已经有一段时间了哈哈。很高兴听到问题解决了。:)
$.get('/').then(function() {
console.log(undef);
})
.fail(function(){
console.log("Error");
})