首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >嵌套的for循环结合了Nodejs中的API获取数据?

嵌套的for循环结合了Nodejs中的API获取数据?
EN

Stack Overflow用户
提问于 2018-12-04 02:31:42
回答 5查看 1.2K关注 0票数 1

我的场景如下:有一个我想要获取的API。API返回一个json,该json有一个名为"assets“的数组。该数组大小始终为20。现在,我这样调用端点:

 fetch(
     `https://api.example.io/api/v1/assets/?offset=${offset}`
 )

其中,如果offset为0,则返回0- 20资产的数组,如果offset为20,则返回20到40,依此类推。

我想检查1000个项目,这意味着我想调用这个fetch 1000/20 = 50次。每当我调用fetch时,我都会循环这20个项目,并将它们插入到我的数据库中。问题是我不能做这样的事情:

let offset=0;

for(let i = 0; i < 50; i++ {
    fetch(
       `https://api.example.io/api/v1/assets/?offset=${offset}`
    )
    for(let j = 0; j < 20; j++){
    // Insert into DB
    }
    offset+=20;
}

由于JS的异步特性。每当我尝试这样做时,它都会多次调用fetch,偏移量的值为0,它不会等到嵌套的for循环完成,然后调用20或更晚的40,依此类推……

实现这一行为的正确方法是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53599748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档