2016-05-03 21 views
0

我是JavaScript新手。我正在运行以下请求;使用NextToken使用JavaScript解析下一个结果aws-sdk

ec2.describeSpotPriceHistory(params, function(err, data) { 
    if (err) console.log(err, err.stack); 
    else  console.log(data); 
}); 

它返回一个json blob;

{ SpotPriceHistory: 
    [ { InstanceType: 'm3.medium', 
     ProductDescription: 'Linux/UNIX', 
     SpotPrice: '0.011300', 
     Timestamp: Tue May 03 2016 18:35:28 GMT+0100 (BST), 
     AvailabilityZone: 'eu-west-1c' }], 
    NextToken: 'cVmnNotARealTokenYcXgTockBZ4lc' } 

这一切都很好。我知道我需要使用NextToken并循环返回以获得接下来的100个结果。我怎么能做到这一点?

回答

2

您需要将令牌设置为params对象中的NextToken属性,并再次调用describeSpotPriceHistory

事情是这样的:

function getSpotPriceHistory(params) { 
    ec2.describeSpotPriceHistory(params, function(err, data) { 
     if (err) console.log(err, err.stack); 
     else  { 
      console.log(data); 
      if (data.nextToken) { 
       params.nextToken = data.nextToken; 
       getSpotPriceHistory(params) 
      }     
     } 
    }); 
} 
+0

我如何采取从JSON输出的'NextToken'值,然后再次传递到指挥? –

+0

@ Ste-3PO我在答案中加了一个例子 –