Javascript 然后不抛出错误

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 promise(jquery 3.3.1)不会显示任何错误,这使得调试无法进行

$.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");
})