- translations['photo.select_a_photo_to_attach']
+ translations.photo.select_a_photo_to_attach
oProgressBar['total']
а не oProgressBar.total
и другие подобные?empty()
? Это не PHP.codeInput
не объявленаconst codeInput = `
<div>
строка 1 ${translations.photo.select_a_photo_to_attach} продолжение
строка 2
</div>
`;
let previousTimer;
const startTimer = (word, delay, callback) => {
const timer = setInterval(
() => {
if (previousTimer !== timer) {
clearInterval(previousTimer);
previousTimer = timer;
}
callback();
},
delay
);
};
startTimer('t1', 280, () => console.log('cb t1'));
startTimer('t2', 1200, () => console.log('cb t2'));
startTimer('t3', 910, () => console.log('cb t3'));
// t1, t1, t1, t3, t2, t2, t2...
const x = foo?.bar?.foo?.bar?.foo?.bar ?? 'default';
// не вызовет ошибки при отсутствии свойства
// использование с именами свойств из переменых/констант:
const foo = { bar: { foo: { bar: { foo: { bar: 'foobar' }}}}};
const FOO = 'foo';
const BAR = 'bar';
foo?.[BAR]?.[FOO]?.bar?.foo?.[BAR] // "foobar"
try .. catch
:let x;
try {
x = foo.bar.foo.bar.foo.bar;
} catch() {
x = 'default';
}
.text()
запишет только текст, без разметки HTML – иконка пропадёт// итерации 1-го этапа:
{}
{'iowa': 12}
{'iowa': 12 + 42 = 54}
{'iowa': 54, 'zero': 58}
{'iowa': 54, 'zero': 58 + 32 = 90}
{'iowa': 54, 'zero': 90}
в массив как у вас ожидается. Promise.all(
id_contacts.map(id =>
axios
.post('api/add_contact', { id })
.then()
.catch(console.error)
)
)
.then(resultsArray => {
axios.post('api/bizproc', { contacts: resultsArray });
})
.catch(console.error);
[warning] запросы контактов отправятся почти одновременно / параллельно, что может быть проблемой при большом их числе. Поэтому стоит продумать последовательные пачки параллельных запросов, если контактов там может быть больше, скажем, 10. this
:const G = {
boo: function() {
console.log(this.x);
},
};
function A() {
let x = 'XXX';
const obj = { x, extraparams: { overwriteFunc: () => {}, }, };
// перезаписывание. Если typeof obj[prop] == 'function'
obj.extraparams.overwriteFunc = G.boo.bind(obj);
// вызов
obj.extraparams.overwriteFunc();
}
A(); // 'XXX'
let
и const
объявляют переменные/константы с блочной областью видимости.let a
делает её видимой только внутри фигурных скобок do { }
.a
. var e;
var r = t.length;
var n = '';
var i = 0;
var s = 0;
var a = 0;
// for (; i < r; ) {
while (i < r) {
s = t.charCodeAt(i);
if (s < 128) {
n += String.fromCharCode(s);
i++;
} else {
if (s > 191 && s < 224) {
// это заглавные кириллические буквы в Win1251
a = t.charCodeAt(i + 1);
// дальше код оборвался, приведён не полностью
}
}
}
фрагмент кода приведёт не полный, поэтому и «распаковка» не полна.