gpt4 book ai didi

javascript - 如何将三个链式回调 (AJAX) 转换为 Javascript 中的 Promise

转载 作者:行者123 更新时间:2023-12-01 01:35:24 25 4
gpt4 key购买 nike

我有这个代码:

$.ajax({
method: 'GET',
url: 'a.php'
}).done(function(res){
$.ajax({
method: 'POST',
url: 'b.php',
data: {data: res}
}).done(function(res){
console.log(res);
$.ajax({
method: 'POST',
url: 'c.php',
data: {data: res}
}).done(function(res){
console.log(res);
});
});
});

如您所见,它只是三个 AJAX 函数。第二个依赖于第一个,第三个依赖于第二个。

如何将其转换为 promise 以避免使用回调并使代码更易于阅读?

最佳答案

有了 jQuery 的 promise ,它应该看起来像这样,在各个提取之间有明确的关注点分离:

function a() {
return $.get('a.php');
}

function b(res) {
return $.post('b.php', {data: res});
}

function c(res) {
return $.post('c.php', {data: res});
}

function d(res) {
console.log(res);
}

a().then(b).then(c).then(d);

关于javascript - 如何将三个链式回调 (AJAX) 转换为 Javascript 中的 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52877856/

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