Я все еще разбираюсь с Обещаниями, но, работая с ними, я понял, что было бы неплохо уменьшить массив объектов выборки и поставить рядом с ними некоторые дроссели. Создавая свою медленную функцию запросов, я понял, что не могу придумать элегантный способ вставить массив и вернуть этот массив лучше, чем этот.
ТАК. Мой вопрос Есть ли более элегантный способ отправки в массив и возврата массива за один шаг в Javascript, чем этот?
const mQry = q => fetch(q).then(r=>r.json()); // Fetches and returns json
const throttle = t => new Promise(r=>setTimeout(r,t)); // adds a promised timeout
const slowQrys = (q,t) => // pass in an array of links, and a number of milliseconds
Promise.all(q.reduce((r,o)=> // reduce the queries
// Here's the big issue. Is there any more elegant way
// to push two elements onto an array and return an array?
[...r, mQry(...o), throttle(t)]
,[]);
И, прежде чем кто-то скажет, я супер осознаю, что разделениемассив может быть неэффективным, но я, вероятно, никогда не использую более 10 элементов, так что это не так уж и сложно.