Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.02.2020, 21:58
Аспирант
Отправить личное сообщение для Lion_astana Посмотреть профиль Найти все сообщения от Lion_astana
 
Регистрация: 19.11.2010
Сообщений: 48

Не успел Ваш ответ прочитать...

Может Вы и правы. Сейчас еще такой вариант думаю: скрипт проверит количество товаров в файле и в зависимости от этого 2 варианта: Если товаров в файле меньше, например, 1000, то сразу тут же и мпортирует, а если больше, то добавит задачу в БД для планировщика, а пользователю напишет что импорт осуществляется, Вы получите на почту сообщение о его окончании.

Хотя, а если, как вы говорите, одновременно 10 пользователей начнут грузить по 900 товаров...
Ответить с цитированием
  #12 (permalink)  
Старый 06.02.2020, 01:28
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Lion_astana, ответ на ваш начальный вопрос... Поскольку ваша функция func2 возвращает булево значение, то вы её результат можете использовать в цикле while

<button id="btn">Click me</button>
<p id="info"></p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>

const button = $("#btn");
const info = $("#info");

button.on("click", func1);

async function func1() {
	button.prop("disabled", true);
	info.text("");
	
	while(await func2()) {
		info.append("true ");
	}
	
	info.append("end");
	button.removeAttr("disabled");
}

async function func2() {
	try {
		/* микросервис, который возвращает false в 25% случаев и true — 75% */
		const answer = await $.get("https://charm-launch.glitch.me/random/boolean/0.25");
	
		return answer;
	} catch(error) {
		/* если произойдёт ошибка, то возможно вы её захотите обработать как-то по другому */
		return false;
	}
}
	
</script>
Ответить с цитированием
  #13 (permalink)  
Старый 06.02.2020, 14:35
Аспирант
Отправить личное сообщение для Lion_astana Посмотреть профиль Найти все сообщения от Lion_astana
 
Регистрация: 19.11.2010
Сообщений: 48

Спасибо всем. Сделал немного по-другому: если товаров меньше 500, то они грузятся сразу все вместе с фото. Если больше 500, то товары все в базу сохраняются, а вместо фото путь к картинки из YML файла пользователя. Затем, скриптом не спеша проходимся и загружаем фото к себе на сервер по пути, который есть у каждого товара.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов вложенной функции объявленной без ключевого слова var ytil Общие вопросы Javascript 6 15.10.2018 22:53
Вызов функции pokk Общие вопросы Javascript 1 29.01.2018 12:38
Динамическое подключение JS и вызов функции Paqwerty Events/DOM/Window 1 25.04.2017 16:33
Вызов функции страницы из расширения chrome nontxt Events/DOM/Window 0 09.02.2015 10:42
Двойной вызов функции Tmin10 jQuery 8 08.12.2011 15:19