Мне нужно вывести длинный список отправлений и их отслеживание. Состояние / отслеживание URL
.
Если я выполняю это синхронно, то это может занять очень много времени. Поэтому, если я запускаю его асинхронно, это должно быть быстрее, так как все запросы будут выполняться одновременно, а затем вернуть всю информацию во внешний интерфейс, когда все это будет сделано.
Так что я все еще учусь в узле и используюобещания, однако я до сих пор получил это ... но проблема в том, что Promise.all, кажется, никогда не выполняется. Поэтому я не уверен, правильно ли я выполняю функцию «Обещание» или я не знаю, что такое easyPost API
?
. Да, сейчас я просто использую 2 идентификатора отгрузки, но это можетпробег до 100 или более ...
также есть ли способ вернуть элемент отслеживания при получении груза, чтобы мне не приходилось делать 2 вызова для каждой отправки?
var promise = []
promise.push(getShipmentPromise('shp_xxxShipmentId'))
promise.push(getShipmentPromise('shp_xxxShipmentId2'))
Promise.all(promise)
.then(response => {
console.log('Sent - ' + req.method + req.originalUrl)
console.log('promise.all complete.')
// within an expressjs route
res.json(batches)
})
.catch(err => {
console.log(err)
})
function getShipmentPromise (shipmentId) {
return new Promise((resolve, reject) => {
easyPostAPI.Shipment.retrieve(shipmentId).then(response => {
console.log(response.created_at)
})
})
}