JSFiddle - React, Tailwind, and code Playground
by A A
JavaScript
questionList.forEach((question) => {
let respName = "";
let respObj = question;
if (question.type === "some_type") {
// some not important code
// respName = "some_name"
} else if (question.type === "some_type2") {
// some not important code
// respName = "some_name2"
} else if (question.type === "some_type3") {
// some not important code
// respName = "some_name3"
} else if (question.type === "some_type4") {
respName = "some_name4"
respObj = getBlockStats(handle, block);
} else {
// some not important code
// respName = "some_nameX"
}
setTimeout(() => {
io.emit(respName, respObj);
}, offset);
offset += offsetIncrease;
});
const getBlockStats = (handle, block) => {
return GameAnswers.findOne({ handle })
.then(gameAnswers => {
let maxQuesstionInBlock = gameAnswers.answers
.reduce((a, b) => {
return (parseInt(a.ownId) > parseInt(b.ownId) ? a : b)
})
let results = [];
for (let i = 1; i <= maxQuesstionInBlock.ownId; i++) {
let team1AllAnswers = gameAnswers.answers
.filter(el => {
return el.blockId === block
})
.filter((el) => {
return el.team === "team1"
})
.filter((el) => {
return parseInt(el.ownId) === i
});
let team1CorrectAnswers = team1AllAnswers
.filter(el => {
return el.correct === "true"
});
let team2AllAnswers = gameAnswers.answers
.filter(el => {
return el.blockId === block
})
.filter((el) => {
return el.team === "team2"
})
.filter((el) => {
return parseInt(el.ownId) === i
});
let team2CorrectAnswers = team2AllAnswers
.filter(el => {
return el.correct === "true"
});
let result = {
"question": i,
...