Я ударился головой, нахожу ответ для этого, я просто не могу понять. Я использую модуль Node.js для Shopify API на microapps. У меня есть объект JSON, содержащий список идентификаторов продуктов и skus, которые мне нужно обновить, поэтому я просматриваю файл и вызываю функцию, вызывающую api. API-интерфейс Shopify ограничивает его вызовы и отправляет заголовок ответа с оставшимся значением. Эти узловые модули предоставляют объект, содержащий ограничения и использование. Мой вопрос основан на приведенном ниже коде, как можно на setTimeout или аналогичном, когда я достигаю предела. После того, как вы сделаете свой первый вызов будет возвращать пределы объекта, как это:Как справиться с лимитом вызовов API Shopify с помощью microapps Модуль Node.js
{
remaining: 30,
current: 10,
max: 40
}
Вот что у меня есть без соблюдения ограничений, как все, что я пытался не удается:
const products = JSON.parse(fs.readFileSync('./skus.json','utf8'));
for(var i = 0;i < products.length; i++) {
updateProduct(products[i]);
}
function updateProduct(product){
shopify.productVariant.update(variant.id, { sku: variant.sku })
.then(result => cb(shopify.callLimits.remaining))
.catch(err => console.error(err.statusMessage));
}
Я знаю, что нужно реализовать какой-то обратный вызов, чтобы проверить, осталось ли оставшееся использование, а затем подождать несколько секунд, прежде чем снова звонить. Любая помощь будет принята с благодарностью.