gpt4 book ai didi

loops - 我怎样才能 "while loop"一个 Axios GET 调用直到满足条件?

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:22 24 4
gpt4 key购买 nike

我有一个 API 可以返回留言板线程的回复列表(每次调用限制 5 个回复)。我正在尝试做的是在响应中寻找特定的回复 uuid。如果未找到,则对接下来的 5 个回复进行另一个 AXIOS GET 调用。

我想继续这个循环,直到调用 UUID 或 AXIOS GET 调用无结果返回。

示例 API 请求:

http://localhost:8080/api/v2/replies?type=thread&key=e96c7431-a001-4cf2-9998-4e177cde0ec3

示例 API 响应:

"status": "success",
"data": [
{
"uuid": "0a6bc471-b12e-45fc-bc4b-323914b99cfa",
"body": "This is a test 16.",
"created_at": "2017-07-16T23:44:21+00:00"
},
{
"uuid": "0a2d2061-0642-47eb-a0f2-ca6ce5e2ea03",
"body": "This is a test 15.",
"created_at": "2017-07-16T23:44:16+00:00"
},
{
"uuid": "32eaa855-18b1-487c-b1e7-52965d59196b",
"body": "This is a test 14.",
"created_at": "2017-07-16T23:44:12+00:00"
},
{
"uuid": "3476bc69-3078-4693-9681-08dcf46ca438",
"body": "This is a test 13.",
"created_at": "2017-07-16T23:43:26+00:00"
},
{
"uuid": "a3175007-4be0-47d3-87d0-ecead1b65e3a",
"body": "This is a test 12.",
"created_at": "2017-07-16T23:43:21+00:00"
}
],
"meta": {
"limit": 5,
"offset": 0,
"next_offset": 5,
"previous_offset": null,
"next_page": "http://localhost:8080/api/v2/replies?_limit=5&_offset=5",
"previous_page": null
}

循环将在 meta > next_page url 上调用 AXIOS GET,直到在结果中找到 uuid 或 meta > next_page 为空(意味着不再回复)。

最佳答案

你应该搜索的不是while loop,而是叫做Recursion :

同时:

var counter = 10;
while(counter > 0) {
console.log(counter--);
}

递归:

var countdown = function(value) {
if (value > 0) {
console.log(value);
return countdown(value - 1);
} else {
return value;
}
};
countdown(10);

这意味着该函数会根据输出的特定条件不断调用自身。通过这种方式,您可以创建一个函数来处理响应并在值不适合您时再次调用自身(半代码):

function get() {
axios.get('url').then(function(response) {
if (response.does.not.fit.yours.needs) {
get();
} else {
// all done, ready to go!
}
});
}

get();

如果你想用 promises 链接起来,那么你应该花一些时间自己弄清楚,每次只返回一个 promises ;)

关于loops - 我怎样才能 "while loop"一个 Axios GET 调用直到满足条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45179965/

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