0

Appolgies 我对 Nodejs 和编程很陌生,所以长话短说:

使用 Easypost Nodejs API,我需要使用我的 Nodejs/express 后端每天 3 次检索所有跟踪状态。

我以非常低效的方式检索所有跟踪状态的方式达到了速率限制。这是对每个 Shipmentid 的单独调用以获取 Trackingid,然后获取最新状态。我知道非常糟糕。

所以我去了文档并想,很酷,我会单独做事,获取我所有的包裹(myDB),然后单独获取所有跟踪器的列表,然后使用货件 ID 进行匹配。

问题...

  1. 我是新手。

  2. 如何使用分页进行多次调用->我的第一个想法是运行初始调用以查看是否有多个页面,如果“has_more”为真,然后在我需要的最后一个页面上根据需要运行多次2个月。

  3. 下一个问题...我似乎缺少来自easypost API的响应中的分页信息。在文档中应该有一个响应, {trackers:[all tracker info here], "has_more": true} 但响应中只有一组跟踪器。即使我将页面大小设置为 1 或 2 ...

当前获取跟踪器列表的代码:

      .get((req, res) => {
        console.log('Recieved - ' + req.method + req.originalUrl)
        easyPostAPI.Tracker.all(req.body)
          .then( response => {
            console.log('Sent - ' + req.method + req.originalUrl)
            res.json(response)
          })
          .catch(err => {
            console.log(err)
            res.status(400).json(err)
          })
      })```


hopefully it's not just me getting it wrong.


4

1 回答 1

1

EasyPost刚刚发布了 3.8.0 版本的节点库,您可以在其中访问has_more数组上的属性,如下所示:

api.Shipment.all({ page_size: 2, ... }).then(shipment => console.log(shipment.has_more))

在@easypost/api v4.0.0 中可能有一种更方便的分页方式,但就目前而言,上述属性应该允许您进行分页。

于 2020-02-03T22:16:48.323 回答