arrs.reduce((acc, curr) => {
curr.forEach((item, i) => {
acc[i] = acc[i] || [];
acc[i] = [...acc[i], ...item.slice(acc[i].length)];
});
return acc;
}, []);
Не очень понимаю, что происходит при вызове const a = getPromise(). Этот вызов же возвращает просто промис и не выполняет логику, которая находится внутри него?
Разве async функция идентична вызову Promise.all? Ведь вызов await pizzaPromise и await drinkPromise будут выполняться поочередно, то есть перед тем, как выполнится второй промис, он будет ждать полного выполнения первого. А в свою очерень Promise.all() делает их разрешение параллельно.
const commands = [{
name: 'transfer',
value: /#перевести/i,
separator: / /,
params: ['name', 'count']
}, /* ... */];
const parse = (msg) => {
const command = commands.find((item) => (msg.match(item.value) || {}).index === 0);
if (!command) {
return null;
}
const args = msg.split(command.separator).slice(1);
return {
name: command.name,
params: command.params.reduce((acc, curr, i) => ({...acc, [curr]: args[i] || null}), {})
};
};
parse('#перевести Лёша 100');
/*
{
name: 'transfer',
params: {
name: 'Лёша',
count: '100'
}
}
*/
const result = Object.entries(obj).reduce((acc, [key, {active, completed}]) => {
const filter = ({data: {meta: {consumer: {id}}}}) => id === 1;
acc[key] = {
active: active.filter(filter),
completed: completed.filter(filter)
};
return acc;
}, {});
{
aQueue: ...,
bQueue: ...
}
function getNestedObj(obj, id) {
while (obj && obj.id !== id) {
obj = obj.nextSibling ? obj.nextSibling.parentNode : null;
}
return obj;
}
console.log(getNestedObj(objN, 'ИСКОМОЕ ИМЯ'));
const result = arrTypeId.reduce((acc, curr) => {
return acc || person.documents.find(({Vid: {id}}) => curr === id);
}, null) || person.documents[0];
setTimeout(this.blabla.bind(this), 2000)
setTimeout(() => this.blabla(), 2000)
function getEventStatus(eventId, cb) {
// ...
request.onsuccess = function(e) {
eventStatus = e.target.result.eventStatus;
cb(eventStatus);
}
}
getEventStatus(request.eventId, (eventStatus) => {
sendResponse({res: eventStatus});
});
function getEventStatus(eventId, e) {
return new Promise((resolve) => {
// ...
request.onsuccess = function(e) {
eventStatus = e.target.result.eventStatus;
resolve(eventStatus);
}
});
}
getEventStatus(request.eventId).then((eventStatus) => {
sendResponse({res: eventStatus});
});