小编Moo*_* Jo的帖子

rxjs在map Rx.Observable.range(1,5).map中使用async/await

我想使用async/await从rxjs获取一个列表.我该怎么办?

function getData(num){
    return new Promise((resolve, reject)=>{
        resolve(num + 1)
    })
}

async function create(){
    var list = await Rx.Observable.range(1, 5).map(async (num)=>{
        const data = await getData(num)
        return  data
    }).toArray().toPromise()

    return list
}


Rx.Observable.fromPromise(create()).subscribe(list=>{
    console.log(list)
}, err=>{
    console.log(err)
})
Run Code Online (Sandbox Code Playgroud)

我明白了

[ Promise { 2 },
  Promise { 3 },
  Promise { 4 },
  Promise { 5 },
  Promise { 6 } ]
Run Code Online (Sandbox Code Playgroud)

我想得到这样的数据

[2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous async-await rxjs typescript

5
推荐指数
1
解决办法
4989
查看次数

标签 统计

async-await ×1

asynchronous ×1

javascript ×1

rxjs ×1

typescript ×1