Лучший метод настройки типов ячеек UITableView для определенных ячеек

Вот способ:

var wait = ms => new Promise(resolve => setTimeout(resolve, ms));
var filter = num => wait(1).then(() => num == 3);

var filterAsync = (array, filter) =>
  Promise.all(array.map(entry => filter(entry)))
  .then(bits => array.filter(entry => bits.shift()));

filterAsync([1,2,3], filter)
.then(results => console.log(results.length))
.catch(e => console.error(e));

Функция filterAsync принимает массив и функцию, которые должны либо возвращать true, либо false или возвращать обещание, которое разрешает true или false, что вы просили (почти, я не перегружал обещание, потому что считаю, что это плохая идея). Дайте мне знать, если у вас есть какие-либо вопросы по этому поводу.

var wait = ms => new Promise(resolve => setTimeout(resolve, ms));
var filter = num => wait(1).then(() => num == 3);

var filterAsync = (array, filter) =>
  Promise.all(array.map(entry => filter(entry)))
  .then(bits => array.filter(entry => bits.shift()));

filterAsync([1,2,3], filter)
.then(results => console.log(results.length))
.catch(e => console.error(e));

var console = { log: msg => div.innerHTML += msg + "<br>",
                error: e => console.log(e +", "+ (e.lineNumber-25)) };
<div id="div"></div>

0
задан Aaron 15 January 2019 в 22:20
поделиться