数组中使用 promise的操作记录

当数组中存着所需的id,需要批量发请求(一般是不需要的,如果高频次出现,可以认为是后端偷懒)

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const dataArray = [
    {
        id: 1,
        name: 'Tom'
    },
    {
        id: 2,
        name: 'Sam'
    },
    {
        id: 3,
        name: 'Candy'
    }
]
function returnData() {
    return new Promise((resolve, reject) => {
        const resultArray = dataArray.map(async (ele) => {
            ele.userId = await getUser(ele.id)
            ele.userName = await getUserName(ele.name)
        })
        resolve(dataArray)
    })
}
// 如果数组map方法批量返回了Promise()的话,
// 可以用Promise.allSettled()来获取成组的Promise
 
 
function getUser(userId) {
    return new Promise((resolve, reject) => {
        const result = `得到用户id${userId}`
        resolve(result)
    })
}
function getUserName(name) {
    return new Promise((resolve, reject) => {
        const result = `得到用户名${name}`
        resolve(result)
    })
}
 
returnData().then((res) => {
    console.log(res, '返回值')
})
// > [
// {
//     "id":1,
//     "name":"Tom",
//     "userId":"得到用户id1"
//     },
//     {
//     "id":2,
//     "name":"Sam",
//     "userId":"得到用户id2"
//     },
//     {
//     "id":3,
//     "name":"Candy",
//     "userId":"得到用户id3"
//     }
// ]
//     返回值

  

posted @   时间观测者  阅读(183)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示