В этом задании используйте Javascript Promises для расчета площадей различных геометрических форм. Фигуры имеют форму квадрата, прямоугольника, круга и треугольника, и площадь каждого из них может быть вычислена с использованием следующих формул: квадрат стороны 'a': площадь = a2 прямоугольник длины 'l' и ширины 'w': площадь = wx lкруг радиуса'r': Area = Pi x r2Треугольник основания 'b' и высоты 'h': Area = 0.5 xbx hNote: Убедитесь, что значение Pi равно 3.14, и округлите области всех фигур до 2 десятичных знаков.
Описание функцийПолностью завершите функцию getAreas, которая принимает массив фигур и соответствующие им стороны и возвращает обещание, представляющее массив областей всех фигур. Кроме того, завершите вспомогательную функцию executeArea, которая принимает одну фигуру и ее сторону / стороны, а также возвращает обещание, представляющее его область. Спецификации обещания, возвращаемого getAreas, следующие: Это обещание объединяет выходные данные всех обещаний, возвращаемых CalcuArea дляформы. Спецификации обещания, возвращаемого методом calcArea, следующие: Если форма, переданная в Обещание, действительна, разрешите ее с помощью вычисленной области соответствующей формы. Если форма, переданная в Обещание, недействительна, отклоните все с помощью [-1].
It returns a Promise which on success, returns area of the shape, and on failure returns [-1].
let calculateArea = (shape, values) => {
return new Promise((resolve, reject) => {
switch(shape) {
case 'square':
resolve(values[0]*values[0]);
break;
case 'rectangle':
resolve(values[0] * values[1]);
break;
case 'circle':
resolve(values[0]*values[0] * 3.14);
break;
case 'triangle':
resolve(0.5 * values[0]*values[1]);
break;
default:
reject( [-1]);
}
})
}
// Complete the generateArea function below.
// It returns a Promise which on success, returns an array of areas of all the shapes and on failure, returns [-1].
let getAreas = (shapes, values_arr) => {
return new Promise((resolve, reject) => {
let areas_array = [];
for(let i= 0; i < shapes.length; i++) {
calculateArea(shapes[i], values_arr[i])
.then(area => {
areas_array.push(area);
})
.catch(error => {
console.log(error)
})
}
resolve(areas_array)
})
}
Вышесказанное - это то, что я пробовал, но оно не отвергает area_array при возникновении странных фигур tp [-1]