/ Как добавить задержку между запросами в Axios

Как добавить задержку между запросами в Axios

20 Июл 2021
Дмитрий М.
3

Необходимо получить список товаров при помощи API Ozon и информацию по ним.

Для этого использую Vue, запросы отправляю при помощи Axios.

Так как у API Ozon есть ограничение - 1 запрос / 1 сек. Необходимо использовать задержку между запросами. Для этого воспользуюсь npm пакетом axios-delay.

Установка npm пакета axios-delay

Установлю в проект пакет при помощи пакетного менеджера:

npm install axios-delay

Теперь в необходимо подключить в файле данную библиотеку:

import axios from 'axios';
import delayAdapterEnhancer from 'axios-delay';

Использование axios-delay

Далее напишем метод для запроса:

data() {
	return {
		products: []
	};
},
methods: {
	getProduct: async function (){
		let tmpProducts;
		const params = {
			filter: {
				visibility: "ALL"
			},
			page: 0,
			page_size: 0
		};
		const instance = axios.create({
			adapter: delayAdapterEnhancer(axios.defaults.adapter),
			baseURL: 'https://api-seller.ozon.ru/',
			delay: 1200,
			headers: {
				'Client-Id': 'Ваш код клиента',
				'Api-Key': 'Ваш api-ключ',
				'Content-Type': 'application/json',
			}
		});
		await instance.post("v1/product/list", params)
			.then(response => { tmpProducts = response.data.result.items; })
			.catch(error => console.log(error));
		if (tmpProducts.length > 0 ) {
			tmpProducts.map(async item => {
					await instance.post("v2/product/info",
						{
							"offer_id": item.offer_id,
							"product_id": item.product_id,
						})
						.then(response => {this.products.push(response.data.result); console.log(response.data)})
						.catch(error => console.log(error));
			})
		}
	}
}

Статья была полезна? Поблагодарите автора.

Самые читаемые
#1С Битрикс, #Bitrix CMS, #.htaccess, #настройка редиректов
4 Авг 2019
#Хлебные крошки, #1С Битрикс, #Bitrix CMS, #bitrix:breadcrumbs, #component_epilog, #кэширование
1 Окт 2018
#ресайз изображений, #1С Битрикс, #Bitrix CMS
3 Мар 2019
#bitrix, #robots.txt, #sitemap.xml, #поддомены, #мультисайтовость
16 Окт 2018
#bitrix, #bitrix:catalog.section, #скидки, #товары со скидкой, #страница скидок, #страница со скидками
4 Окт 2018
#Bitrix CMS, #breadcrumb, #bitrix:breadcrumbs, #хлебные крошки, #настройка
13 Фев 2019
#bitrix, #пользовательские свойства, #тип свойств, #привязка к элементам
27 Ноя 2019
#bitrix, #свойства элементов, #обработчик событий, #OnBeforeIBlockElementUpdate, #OnIBlockElementSetPropertyValues
21 Июл 2020