gpt4 book ai didi

javascript - Node JS,从两个链接同步发出HTTPS请求

转载 作者:行者123 更新时间:2023-11-28 18:45:58 25 4
gpt4 key购买 nike

我想通过 Node JS 向外部链接发出 HTTPS 请求。在我的第一次调用中,我需要通过循环多个用户来获取用户 ID。在第二次调用时,我需要在 URL 链接中输入该用户 ID 并获取用户属性。不断重复这个过程,直到遍历完所有用户。最终目标是以 JSON 格式存储每个用户的数据。不涉及前端。非常感谢任何指导/建议。

由于 API key ,我无法共享实际链接。但这是假设的场景。我这里只显示 2 个用户。我的实际数据集中大约有 10,000 个用户。

链接 1 https://www.google.com/all_users

JSON 输出

{
"name": "joe",
"uri": "/id/UserObject/User/1234-1234",
},
{
"name": "matt",
"uri": "/id/UserObject/User/5678-5678",
}

链接2 https://www.google.com//id/UserObject/User/1234-1234

JSON 输出

{
"name": "joe",
"uri": "/id/UserObject/User/1234-1234",
"Property Values": {
"height": "2",
"location": "canada"
},
"Other Values": {
"work": "google",
"occupation": "developer"
}
}

嵌套 JSON

{
"PropertySetClassChildrenResponse": {
"PropertySetClassChildren": {
"PropertySetInstances": {
"totalCount": "1",
"Elements": [
{
"name": "SystemObject",
"uri": "/type/PropertySetClasses/SystemObject"
}
]
}
}
}
}

最佳答案

未经测试,但这应该为您指明正确的方向。它使用 Promises 并假设在 ES6 环境中运行:

const rp = require('request-promise');
const Promise = require('bluebird');

fetchAllUsers()
.then(extractUserUris)
.then(extractUserIds)
.then(buildUserDetailRequests)
.then(Promise.all) // run all the user detail requests in parallel
.then(allUserData => {
// allUserData is an array of all users' data
});

function fetchAllUsers() {
return rp('https://api.whatever.com/all_users');
}

function extractUserUris(users) {
return users.map(user => user.uri);
}

function extractUserIds(userUris) {
return userUris.map(userUri => userUri.split('/').pop());
}

function buildUserDetailRequests(userIds) {
return userIds.map(userId => rp("https://api.whatever.com/user/" + userId));
}

关于javascript - Node JS,从两个链接同步发出HTTPS请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35326622/

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