gpt4 book ai didi

javascript - 我如何通过 api 获取大量用户?使用 async wait

转载 作者:行者123 更新时间:2023-12-02 23:23:10 24 4
gpt4 key购买 nike

我正在尝试从 api 获取所有用户,并且我需要找到获得最多报酬的用户。

例如

let users=['tom','jenny','smith','Joe']

async function getUsers() {
let response = await fetch(`http://something.something?q=${users}`);
let data = await response.json();
return data;
}

getUsers().then(data =>console.log(data))

所以我的计划是 users[0],users[1] 类似 make 函数,我通过循环添加索引号。

获取所有用户并找出谁获得最多报酬。

所以我的问题是如何逐步获取用户。

最佳答案

您可以使用Array reduce来获取付费较少的用户,并与Promise.all结合使用async/await来获取所有用户数据

'use strict';

/* mock data for testing purposes
const usersData = [{
name: 'john doe',
payed: 10,
}, {
name: 'john doe01',
payed: 5,
}, {
name: 'john doe02',
payed: 8,
}, {
name: 'john doe03',
payed: 20,
}, {
name: 'john doe04',
payed: 40,
}, {
name: 'john doe05',
payed: 37,
}];
*/

async function getUsers() {
const usersResponse = await Promise.all(
usersName.map(userName => fetch(`http://something.something?q=${userName}`))
);

return usersResponse.map(userResponse => userResponse.json());
}

async function init() {
try {
const usersName = [
'tom',
'jenny',
'smith',
'Joe',
];

const usersData = await getUsers(usersName);

const userWhoLessPayed = usersData.reduce((prevUser, currentUser) => {
if (prevUser.payed > currentUser.payed) {
return currentUser;
}

return prevUser;
});
console.log(userWhoLessPayed);
} catch (e) {
console.error(e);
}
}

init();

关于javascript - 我如何通过 api 获取大量用户?使用 async wait,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56857778/

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