let a;
t >>>= 0;
if(t < 128) a = 1;
else if(t < 16384) a = 2;
else if(t < 2097152) a = 3;
else if(t < 268435456) a = 4;
else a = 5;
this.tail.next = new f(a, t);
this.tail = this.tail.next;
this.len += this.tail.len;
return this;
async function checkUser(login, password) {
const ad = new ActiveDirectory(ad_config)
const auth = await new Promise((resolve, reject) => {
ad.authenticate(login, password, (err, auth) => {
if (err) {
return reject(err)
}
resolve(auth)
})
})
return auth
}
Подойдет ли тут многопоточность или я что то путаю?В JS нет многопоточности.
Как это реализовать? С помощью чего?Просто отправить несколько запросов сразу. Запросы работают асинхронно и не блокируют поток выполнения.
// запомнили в x значение 0
x = 0;
// запомнили в y значение -200
y = -200;
// тут выражение из нескольких действий
x = 0 * x + 1 * y
// 1. вместо переменных подставим значения
// 0 * 0 + 1 * -200
// 2. посчитаем умножения
// 0 + -200
// 3. посчитаем сложения
// -200
// запомним -200 в x
// на этом этапе у нас в x запомнено -200 и в y тоже -200
// с этим проделайте по аналогии
y = -1 * x + 0 * y
function render(message) {
const p = document.createElement("p"); // создали p, его еще нигде нет в DOM, все ok
p.textContent = message;
windowChatUser1.append(p); // поместили наш p в windowChatUser1, с этого момента он есть в DOM
windowChatUser2.append(p); // переместили наш p в windowChatUser2
}
логично, что из windowChatUser1 наш p исчез при перемещении в windowChatUser2, так как один элемент не может быть в двух родителях сразуwindowChatUser2.append(p.cloneNode(true));
.slider__slide {
/* изменяем внешний контейнер на viewport величины */
height: 100vh;
width: 100vw;
}
/* прописываем высоту внутренним контейнерам */
.slick-list, .slick-track {
height: 100%;
}
const ApiServiceModule = {
get: (url: string): Promise<unknown> => fetch(url)
.then(response => response.json())
.catch(err => console.error(err))
}
if (document.URL.indexOf("/testurl/") != -1);
if обрабатывает пустую операцию, все что дальше уже вне if// проиндексируем по ключам
const [rootIndex, idIndex] = array.reduce(([roots, ids], obj) => {
(roots[obj.root_id] ??= []).push(obj);
ids[obj.id] = obj;
return [roots, ids];
}, [{}, {}]);
// и найдем по нему нужные объекты:
const objectsWithoutExistingParent = Object.keys(rootIndex).filter(key => !idIndex.hasOwnProperty(key)).flatMap(key => rootIndex[key]);
console.log(objectsWithoutExistingParent);
const html = (lang) => () => {
return gulp.src("source/*.html")
.pipe(rename({suffix: lang}))
.pipe(gulp.dest("build"));
};
exports.html = html;
проблем с удалением событий не былоРазве?
const listener = event => console.log(event);
element.addEventListener('click', listener);
element.removeEventListener('click', listener);
element.addEventListener('click', event => console.log(event));
element.removeEventListener('click', event => console.log(event));
ибо это 2 разные функции, не смотря на то, что делают одно и то же, и одинаковы до каждого символа.когда программировал в функциональном стилето что в обоих Ваших примерах - это процедурный стиль. От того что Вы завернули код в класс - он не становится ООП, как и то что написали набор функции - не ФП.
function sum(value) {
return (function next(previousSum) {
return Object.defineProperty(function nextSum(value) {
return next(previousSum + Number(value));
}, 'valueOf', {value() {
return previousSum;
}});
})(Number(value));
}
one = sum(1)
two = one(1)
three = one + two // 3
drWr[this.d].removeEventListener('click', this);
const info = messagesData.querySelectorAll('info');
const date = messagesData.querySelectorAll('date');
const length = Math.max(info.length, date.length);
const contentReview = Array.from({length}, (_, i) => ({
info: info[i],
date: date[i]
}));
Но нет никаких гарантий, что info и date будут одинакового размера. Я использовал Math.max для вычисления размера, но в случае не совпадения размеров, для меньшего случая возникнут undefined.