way.on("messageCreate",(letter)=> {
if (!letter.author.bot) {
//кто отправил
sender = letter.author.id
//внесение в бд
db.query(`SELECT * FROM inventory WHERE who = ?`, [creator], function (bad, good, trash) {
if (typeof (good[0]) == "undefined") {
db.query(`INSERT INTO inventory VALUES (?, ?, ?)`, [creator, 10, "[]"])
//тут же обратиться к бд
db.get(`SELECT * FROM inventory WHERE who = ${sender}`, function (mistake, complete) {
after = ""
before = JSON.parse(complete.bag)
if (before.length) {
for (slot = 0; slot < before.length; slot++) {
after += `\nслот [${slot + 1}] содержит [${before[slot]}]`
}
}
calc = ((before.length / complete.capacity) * 100).toFixed(0)
letter.channel.send("```" + `рюкзак заполнен на ${calc}%\n======================= ${after}` + "```")
})
}
})
}
})
${provinceAsia.shortfall}
, разве нет? В переменной не определено значение, а вы у неё пытаетесь свойство получить. И это происходит ещё до исполнения beforeEach
, вот до неё и не доходит даже.получается описание блока It(...) срабатывает даже до beforeEach( fn )?Давайте будем пользоваться корректной терминологией. У вас есть две функции:
beforeEach
и it
. Эти функции принимают аргументы. Аргументы вычисляются первыми, потом происходит вызов самих функций.it
. Здесь происходит падение.it
, перед этим каждый раз вызывая колбэк, который вы передали в beforeEach
. Таки образом переменная provinceAsia
имеет значение внутри колбэков it
, но не имеет значения на момент выполнения колбэка функции describe
. получает данные в виде json-строкиНет, данные вы получаете в виде нормального объекта:
response.json()
Можно ли преобразоватьОткуда же нам знать, что там у вас в
response.message
? Если там действительно какая-то сериализованная строка*, то у неё и правда есть метод spit, который вы можете вызвать, указав подходящий по смыслу разделитель, и получить массив.как привести XMLHttpRequest.response к обычному объекту что бы выполнять стандарнтные для обекта манипуляции.Вы свой код выполняли? Там уже "обычный объект". Какие "манипуляции" вы не в состоянии с ним выполнить?
[0]Не нужно путать массив и объект. У вас - объект, у него нет никакого "первого элемента".
Свойство XMLHttpRequest response возвращает содержимое тела ответа в виде ArrayBuffer, Blob, Document, JavaScript Object или DOMString в зависимости от значения свойства responseType.https://developer.mozilla.org/ru/docs/Web/API/XMLH...
theraphyElements.forEach(function (index, value) {
У forEach другой порядок аргументов - сначала идёт value, потом index. var functor = {};
let name = 'Bob';
function fn() {
// Перезаписывается не "глобальная" переменная, а "локальная", содержащая функцию
var name = function () {};
name = 'Bill';
return;
}
fn();
console.log(name);
let name = 'Bob';
function fn() {
name = 'Bill';
return function name () {};
}
console.log(fn());
console.log(name);
передать сюда аргументыЭто вы уже умеете, тут ничего сложого. Вызов функции с аргументами - это азбука программирования.
получить их в addCommentFnВы уже передаёте туда один аргумент
reset_timeComment
.const throttle = (func, ms) =>{
return function(additionalArgs){
...
func.apply(this, [() => {
clearInterval(timer);
localStorage.setItem('time_comment-last', 0);
recalls__columnReminder.removeClass('visible');
}, additionalArgs]);
...
}
function addCommentFn(reset_timeComment, additionalArgs) {
console.log(additionalArgs.arg1);
}
startThrottle({arg1: 42, arg2: 'foo'});
const throttle = (func, ms) =>{
return function(...additionalArgs){
...
func.apply(this, [
() => {
clearInterval(timer);
localStorage.setItem('time_comment-last', 0);
recalls__columnReminder.removeClass('visible');
},
...additionalArgs
]);
...
}
function addCommentFn(reset_timeComment, arg1, arg2) {
console.log(arg2);
}
startThrottle(42, 'foo'});
<span>
). Затем к этому тегу можно применить соответствующие правила CSS, либо напрямую в атрибут style
, либо через отдельную таблицу стилей.innerText
уже будет нельзя. Сейчас добавляет всем элементам сразу, а как сделать как появился элемент сразу добавился классЭта формулировка, возможно, понятна вам, но совершенно непонятна за пределами вашей головы.
function (entry) {
entry.target.classList.add("animate__animated animate__fadeInLeft ");
}
[...document.querySelectorAll('.element')].forEach(function (el) {
const observer = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
entry.target.classList.add("animate__animated animate__fadeInLeft ");
});
});
observer.observe(el);
});