2015-12-12 2 views
0

В приведенном ниже скрипте мне нужно добавить ожидание каждый раз, когда запускает fetch, если я отправлю их слишком быстро, pipedrive не будет обновляться должным образом. Я попробовал setTimeout, но он не работал ... никаких идей?Задержка сценария цикла, поскольку он ждет выборки

var response = [{ 
    id: 118, 
    deal_id: 329, 
    item_price: 53.37, 
    quantity: 6 
}, { 
    id: 119, 
    deal_id: 329, 
    item_price: 69.07, 
    quantity: 6 
}]; 

var txtStr = ''; 
var myurl = ''; 
var mybody = ''; 

for (var i = 0; i < response.length; i++) { 
    txtStr = txtStr + response[i].id; 
    myurl = "https://api.pipedrive.com/v1/deals/" + response[i].deal_id + "/products/" + response[i].id + "?api_token=123456"; 
    mybody = JSON.stringify({ 
    'id': response[i].id, 
    'deal_product_id': response[i].deal_id, 
    'item_price': response[i].item_price, 
    'quantity': response[i].quantity, 
    }) 

    fetch(myurl, { 
     method: 'PUT', 
     headers: { 
     'Content-Type': 'application/json' 
     }, 
     body: mybody 
    }) 
    .then(function(response) { 
     var produto_id = response.id; 
     return response.text(); 
    }).then(function(body) { 
     var output = { 
     response: body 
     }; 
     callback(null, { 
     id: 123, 
     rawHTML: body 
     }); 
    }).catch(function(error) { 
     callback(error); 
    }) 
} 

ответ

0

Поскольку это асинхронный, положить получения фидов в дии, затем обратный вызов, следует проверить массив, чтобы увидеть, если есть другая выборка ждать.

+0

Спасибо @Bindrid, я попробую этот вариант, но я очень новичок займёт время, чтобы понять это! – Deca

Смежные вопросы