从 jQuery ajax 函数的 promise 语法到 try/catch/finally 和 async/await 的转换失败?

卡夏洛特

下面的 jQuery 代码运行良好。

// Make request.
$.ajax(settings)
.done(function(result) {
    requestDidSucced(result);
})
.fail(function(result) {
    requestDidFail(result);
})
.always(function(result) {
    requestDidFinish(result);
});

但是,将此代码转换为 usetry/catch/finallyasync/await失败,因为该finally块无权访问$.ajax().

特别是,如果我们resulttry定义,假设resultfinally块中获取一个值是否块中一样安全always

// Make request.
try {
    let result = await $.ajax(settings);
    requestDidSucceed(resultBox, result);
} catch (result) {
    requestDidFail(result);
} finally {
    requestDidFinish(result); // This fails because `request` is not available.
}

finally是否可以访问 AJAX 查询的结果?

菲利克斯·克林

resulttry声明

// Make request.
let result;
try {
    result = await $.ajax(settings);
    requestDidSucceed(resultBox, result);
} catch (error) {
    requestDidFail(error);
} finally {
    requestDidFinish(result);
}

但是,您应该注意如何安排。例如,catch如果requestDidSucceed抛出错误,子句也将被调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery和AJAX $ .post()函数

来自分类Dev

jQuery ajax和promise链接顺序

来自分类Dev

jQuery AJAX Promise总是在Ajax失败时中断

来自分类Dev

学习if和else函数的jquery语法

来自分类Dev

将原型Ajax函数转换为jQuery

来自分类Dev

Javascript旧语法到箭头函数的转换

来自分类Dev

使用jQuery和AJAX读取XML失败

来自分类Dev

Node 6.14.0 asyncawait npm 包和谷歌云函数 -> Javascript 异步函数

来自分类Dev

jQuery AJAX请求语法问题(混合普通JS函数)

来自分类Dev

jQuery的promise()和ClojureScript

来自分类Javascript

jQuery ajax函数中contentType和dataType之间的区别

来自分类Dev

使用Jquery和Ajax从PHP调用特定函数

来自分类Dev

如何正确组合这些AJAX和jQuery函数?

来自分类Dev

结合使用jQuery UI的dialog()函数和ajax调用

来自分类Dev

jQuery动态AJAX Promise链

来自分类Dev

jQuery Promise用于Ajax调用

来自分类Dev

jQuery转换Promise级联

来自分类Dev

函数抽象和Promise函数作为参数

来自分类Dev

jQuery重用的ajax函数

来自分类Dev

jQuery ajax调用then函数

来自分类Dev

调用jQuery ajax函数

来自分类Dev

循环jQuery / ajax函数?

来自分类Dev

将promise绑定到函数

来自分类Dev

自定义Ajax Promise函数签名

来自分类Dev

使用Ajax Promise时如何调用函数

来自分类Dev

使用dplyr语法和attr函数转换时区

来自分类Dev

jQuery和AJAX发布到php数据属性?

来自分类Dev

jQuery的添加类到类和ajax加载新内容

来自分类Dev

通过ajax和jquery提交表单到数据库