如何使用而不是.then调用创建循环

时间:2019-04-01 16:19:38

标签: node.js

我想将JIRA中的信息插入到Sql Server中, JIRA服务器限制了我并行发送的请求数,因此我必须稀释我可以同时发送的呼叫数。

我首先是这样做的,并且有效:

    mainJira.getAllPendingIssue(totalIssues).then(function(issues){
      var pendingTicket = mainJira.pop_to_array(issues)

      JiraToSql(pendingTicket,0,100)
      .then(
        JiraToSql(pendingTicket,100,200))
      .then(
        JiraToSql(pendingTicket,200,300))
    })

但是随着问题数量的变化,我想循环进行。 我尝试过这种方法,但不起作用

      mainJira.getAllPendingIssue(totalIssues).then(function(issues){
        var pendingTicket = mainJira.pop_to_array(issues)
        for (pas = 0; pas < totalIssues; pas+= 50 ){
          console.log('pas : ',pas );        
          JiraToSql(pendingTicket,pas,pas + 50);
          } 
        })    
      })

1 个答案:

答案 0 :(得分:0)

array.forEach()函数调用的结果上使用getAllPendingIssue()

mainJira.getAllPendingIssue(totalIssues).then(function(issues){
      var pendingTicket = mainJira.pop_to_array(issues);
      pendingTicket.forEach(function(issue){
           modifiedJiraToSQL(issue); 
      });

注意:关于modifiedJiraToSQL()函数,您需要以JiraToSQL()函数为基础,一次仅处理一个问题。