const movingAverage = (data, windowSize) => {
let sum = data.slice(0, windowSize).reduce((acc, cur) => acc + cur, 0);
const result = [sum / windowSize];
for (let i = windowSize; i < data.length; i += 1) {
sum = sum - data[i - windowSize] + data[i];
result.push(sum / windowSize);
}
return result;
};
console.log(movingAverage([9, 3, 2, 0, 1, 5, 1, 0, 0], 3));
// Array(7) [ 4.666666666666667, 1.6666666666666667, 1, 2, 2.3333333333333335, 2, 0.3333333333333333 ]
function twoSum(a, t) {
let o = {};
for (let i = 0; i < a.length; i++) {
if (o[a[i]] !== undefined) return [o[a[i]], i];
o[t - a[i]] = i;
}
}
new Promise()
куда-то сдвинулся,new Promise((resolve, reject) => {
// что угодно происходит
// и в какой-то момент
resolve(value);
});
Promise.resolve(value)
- это статический метод, возвращающий промис в состоянии fulfilled с указанным значением.new Promise((resolve) => resolve(value))
И можно как-то выполнить промис без аргументов?Что значит "выполнить"? Создать можно, сменить статус с pending на fulfilled нельзя, на rejected можно по исключению.
new Promise((แก้ไข) => แก้ไข('Решено'));
//Promise { <state>: "fulfilled", <value>: "Решено" }
const fakeUrl = 'https://api.github.co'
function getUser(url) {
return new Promise((resolve, reject) => {
fetch(url).then(data => resolve(data.json())).catch(err => reject(err))
})
}
const app = async () => {
try {
const result = await getUser(fakeUrl)
console.log(result)
} catch (error) {
console.log('error', error)
}
console.log('end')
}
app()
client.end()
mqtt.Client#end([force], [options], [callback])
Close the client, accepts the following options
не уходит в catch фетчаВы ошибаетесь, уходит.
не передается дальше в catch промисаПотому что вы её уже обработали в первом catch. Если зачем-то хотите, чтобы она ушла дальше по цепочке catch, её надо бросить заново.
const url = 'https://jsonplaceholder.typicode.co'
const getUser = async () => {
return new Promise((resolve, reject) => {
fetch(url).then(data => resolve(data)).catch(err => reject(err))
}).catch(err => err.message)
}
const url = 'https://jsonplaceholder.typicode.co'
const getUser = async () => fetch(url).catch(err => err.message)
.json()
или .text()
. const p = new Promise(...).then(...).then(...).catch();
можно записать какconst p1 = new Promise(...);
const p2 = p1.then(...);
const p3 = p2.then(...);
const p4 = p3.catch(...);
children
, в нём найдите indexOf
кликнутого элемента.