
Nikolay
06.09.2018
15:19:11
Не надо

Vyacheslav
06.09.2018
15:24:03
без него не робит

Nikolay
06.09.2018
15:25:01
Я хз, что такое "робит", но попробуй возпользоваться отладчиком.

Kendr
06.09.2018
15:25:34

Google

Den
06.09.2018
15:29:27
document.querySelector('#wrapper')
really???
document.getElementById('wrapper')
раз в 5 быстрее
Den

Den
06.09.2018
15:33:16
@Piterden в моём коде не было этой строки)))
document.createElement('#wrapper')

Den
06.09.2018
15:33:52

Den
06.09.2018
15:33:57
то что быстрее слышал, не принципиально

Den
06.09.2018
15:34:23
UPD^ пардон

Vyacheslav
06.09.2018
15:34:34
Не надо
без await пишет [AsyncFunction: rooms]

Den
06.09.2018
15:34:35
)))

Den
06.09.2018
15:34:58

Nikolay
06.09.2018
15:35:41

Den
06.09.2018
15:36:21
Там вложенные async походу

Vyacheslav
06.09.2018
15:36:32
async getRooms(enabled, transaction = false) {
return await this.mysql.select({
from: "battle_rooms",
select: "id, name, bet",
conditions: enabled = ?,
data: [enabled],
order: 'bet ASC',
transaction: transaction,
all: true,
});
}

Den
06.09.2018
15:36:42
Хахаххахахаха

Google

Vyacheslav
06.09.2018
15:37:13
м?

Den
06.09.2018
15:37:20
new Promise(async (resolve, reject) => {})

Nikolay
06.09.2018
15:37:28
:))

Den
06.09.2018
15:37:45

Nikolay
06.09.2018
15:37:47
м?
https://t.me/js_noobs_ru

Den
06.09.2018
15:38:03

Nikolay
06.09.2018
15:38:46
Да зачем? Там вообще не нужен async/await

Den
06.09.2018
15:39:12
select возвр промис и так
Пошел я к нубам
м?
Научись сначала спагетти из then'ов, затем будешь писать лапшу из await'ов

Nikolay
06.09.2018
15:41:24
Рекомендую сначала досконально разобраться в промисах, потом в асинках, чтобы было понимание, как это работает.

Den
06.09.2018
15:41:53
Ну другими словами так ))
async - это плоские макароны

Nikolay
06.09.2018
15:42:55
then — тоже неглубокие, если с умом проектировать.

Den
06.09.2018
15:43:39
А await на скобочках можно вложенный делать
Я делал на puppeteer
Без кеширования в переменные я имею ввиду

Котяй Негодяй
06.09.2018
15:44:39


Den
06.09.2018
15:45:15
А есть что-то типа?
horizontalWords () {
const words = []
let row = 1
for (row; row <= this.width; row++) {
const rowBlankCells = this.blanks
.filter((cell) => Number(cell.split(':')[1]) === row)
.map((cell) => Number(cell.split(':')[0]))
if (rowBlankCells.length > 0) {
let i = 1
const cols = new Array(this.height).fill(0).map((col) => i++)
if (cols) {
`:${cols.join('::')}:`
.split(new RegExp(`:${rowBlankCells.join(':|:')}:`))
.filter((word) => {
const match = word.match(/:\d+:/g)
return match ? match.length > 1 : false
})
.forEach((word) => {
const match = word.match(/:\d+:/g)
const length = match ? match.length : 0
words.push({
x: Number(word.match(/^:(\d+)/)[1]),
y: row,
type: 'horizontal',
length,
question: '',
})
})
}
} else {
words.push({
x: 1,
y: row,
type: 'horizontal',
length: this.width,
question: '',
})
}
}
return words
},
Вот это лапша или нет?

Google

Vyacheslav
06.09.2018
15:45:15
хорошо, убрал из getRooms async и await
let rooms = async () => {await db.getRooms(1)}
console.log( rooms );
как теперь его вызывать?
не пойму

Den
06.09.2018
15:45:47
await rooms()
))))

Andrey
06.09.2018
15:46:00

Den
06.09.2018
15:46:21
rooms().then((bla) => {
})

Котяй Негодяй
06.09.2018
15:47:23

Den
06.09.2018
15:48:05

Котяй Негодяй
06.09.2018
15:49:15
Вместо
let i = 1
const cols = new Array(this.height).fill(0).map((col) => i++)
Можно сделать
const cols = Array.from(
{ length: this.height },
(_, i) => i + 1,
)

Vyacheslav
06.09.2018
15:49:28

Vyacheslav
06.09.2018
15:49:32
так?

Den
06.09.2018
15:50:30

Nikolay
06.09.2018
15:50:40
так?
Дядь, тебе трижды написали. А ты все равно лепишь асинк-эвейт.
Зачем ты так?

Котяй Негодяй
06.09.2018
15:51:06

Den
06.09.2018
15:51:27
Так там JS больше

Vyacheslav
06.09.2018
15:52:16

Den
06.09.2018
15:52:38

Google

Den
06.09.2018
15:53:45


Котяй Негодяй
06.09.2018
15:54:05
А есть что-то типа?
horizontalWords () {
const words = []
let row = 1
for (row; row <= this.width; row++) {
const rowBlankCells = this.blanks
.filter((cell) => Number(cell.split(':')[1]) === row)
.map((cell) => Number(cell.split(':')[0]))
if (rowBlankCells.length > 0) {
let i = 1
const cols = new Array(this.height).fill(0).map((col) => i++)
if (cols) {
`:${cols.join('::')}:`
.split(new RegExp(`:${rowBlankCells.join(':|:')}:`))
.filter((word) => {
const match = word.match(/:\d+:/g)
return match ? match.length > 1 : false
})
.forEach((word) => {
const match = word.match(/:\d+:/g)
const length = match ? match.length : 0
words.push({
x: Number(word.match(/^:(\d+)/)[1]),
y: row,
type: 'horizontal',
length,
question: '',
})
})
}
} else {
words.push({
x: 1,
y: row,
type: 'horizontal',
length: this.width,
question: '',
})
}
}
return words
},
Вообще, колбэки всех твоих форычей и фильтров можно вынести в виде самостоятельных функций. Так твой код станет понятнее. Лапша — это не просто большая вложенность, но ещё и большая связанность кода.


Den
06.09.2018
15:54:40
Зато наци в кодстайле
Приколись https://gist.github.com/Piterden/baa9ceaab30e295dabda9c7d6485a04b

Nikolay
06.09.2018
15:55:43

Котяй Негодяй
06.09.2018
15:56:13
Зато наци в кодстайле
Значит однажды ты докопаешься и до своей архитектуры, т.к. она станет для тебя синонимом стиля.
Имхо, конечно.

Admin
ERROR: S client not available

Котяй Негодяй
06.09.2018
15:56:28
Вопрос времени.

Den
06.09.2018
15:56:48
А тебе сколько лет то щас?

Котяй Негодяй
06.09.2018
15:57:02

Denis
06.09.2018
15:57:30
Помогите как текст к метке поставить справа Google maps API

Nikolay
06.09.2018
15:57:33

Denis
06.09.2018
15:57:36
в право

Котяй Негодяй
06.09.2018
15:57:45

Den
06.09.2018
15:58:08

Котяй Негодяй
06.09.2018
15:58:40

Den
06.09.2018
15:58:41
(шутка)

Google

Nikolay
06.09.2018
15:58:56
Тесты начать писать никогда не поздно, у нас вон кодовая база десятки тыщ строк, а тесты только недавно начали появляться.

Котяй Негодяй
06.09.2018
15:59:15

Den
06.09.2018
15:59:32
У тестов всегда одна проблема:
их нет )))

Nikolay
06.09.2018
16:00:11

Den
06.09.2018
16:00:33

Котяй Негодяй
06.09.2018
16:00:36

Nikolay
06.09.2018
16:00:43

Den
06.09.2018
16:00:54

Котяй Негодяй
06.09.2018
16:01:09
Самое непонятное, зачем вот это:
parseInt(idx / keys.length)
Целую часть хотел получить, чтоль?
А это точно не должно быть округлением до ближаешего целого?
А, так я уже такое писал.

Den
06.09.2018
16:07:36
)))

Котяй Негодяй
06.09.2018
16:08:04
Блин.
Я нихрена не успеваю.

Den
06.09.2018
16:08:24

Котяй Негодяй
06.09.2018
16:08:32
Уже несколько проектов нуждаются в обновлении, я не успеваю их мейнтейнить.