Показать сообщение отдельно
  #7 (permalink)  
Старый 15.04.2022, 11:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,279

Предложу еще такой вариант поочередной отправки запросов...
const a = ['Иванов','Петров','Сидоров']
let act = start(a, myCb)()
act.next()

// Колбэк-функция для отслеживания запроса
function myCb(i) {
	console.log(i)
	act.next()
}

// Собственно замут для поочередной отправки запросов
function start(a, cb) {
	return function* send() {
		for (let i = 0; i < a.length; i++) {
			yield  myFetch(_ => cb(i))
		}
	}
}

// Эмуляция нативного fetch
function myFetch(cb) {
	new Promise((resolve) => {
		setTimeout(_ => {
			cb()
			resolve(true)
		}, 2000)
	})
}
Ответить с цитированием