
Роман
22.07.2018
22:50:27
Вы исходили из предположения что в JS числа 32 разрядные, но это не так.

Sviat
22.07.2018
22:51:03
i << 0 — преобразует i в 32 битное

Роман
22.07.2018
22:52:48
Потому что ты считаешь что оно меняет знак при битовом сдвиге.

Google

Роман
22.07.2018
22:53:00

Sviat
22.07.2018
22:53:27
Побитовые операторы в JavaScript работают с 32-битными целыми числами в их двоичном представлении.
https://learn.javascript.ru/bitwise-operators

Роман
22.07.2018
22:59:58
"двоичное представление" и "преобразуется в 32-битное" разные вещи. Все числа в формате IEEE 754. А представления можно любые использовать, но для этого лучше пользоваться DataView, если нужны низкоуровневые операции.
Опять же, если нужна работа с пикселями, зачем делать ручные преобразования? Какая конечная цель?

Sviat
22.07.2018
23:09:37

Роман
22.07.2018
23:15:25
Ну ты же понимаешь что такое представление? Одно и то же можно представить и как число и как букву и как цвет пикселя. Но это всего лишь представление. Формат хранения чисел в JS от этого не поменяется.

Sviat
22.07.2018
23:16:53
А при чем тут оно
Если бы было 64-битное число, его бы представление в двоичной системе было 64 символа
А сдвиги работают с 32 битными

Роман
22.07.2018
23:26:16

Sviat
22.07.2018
23:26:43

Роман
22.07.2018
23:26:51
Интересно какая в итоге функция получилась и на сколько она быстрей родных методов будет.

Google

Sviat
22.07.2018
23:26:55
оно не видит цвета > 2 ** 31

Роман
22.07.2018
23:41:34

Sviat
22.07.2018
23:43:27

Роман
22.07.2018
23:44:48
У них там int32 (который знаковый). Т.е. от -2^31 до 2^31-1.
И в доках пишут RGB24 format, так что не понятно где там альфа обязана быть.

Sviat
22.07.2018
23:51:00

Роман
22.07.2018
23:53:36
Это библиотека какая-то я так понял. Ты можешь посмотреть во что он конвертирует цвета? [0, 0, 0, 0], [128, 128, 128, 128], [255, 255, 255, 255], например. Как-то же он их хранит/обрабатывает.

Sviat
22.07.2018
23:55:04
Это библиотека какая-то я так понял. Ты можешь посмотреть во что он конвертирует цвета? [0, 0, 0, 0], [128, 128, 128, 128], [255, 255, 255, 255], например. Как-то же он их хранит/обрабатывает.

Oleg
23.07.2018
03:16:01

Denis
23.07.2018
04:09:15
как сделать так, чтобы график показывался только тогда, когда появился data2.json
https://pastebin.com/GnNvRuDG
сейчас, когда json есть - всё норм, когда нет - ошибка 404 и скрипт зависает

Oleg
23.07.2018
04:18:24

Denis
23.07.2018
04:38:20
https://pastebin.com/4Z54zdg7
почему когда json существует - страница грузится без ошибок,
а если json нет - сначала вылазиет
GET http://localhost:63343/web/data999.json 404 (Not Found)
а после того как я добавляю json -вылазиет
Uncaught TypeError: Cannot read property 'update' of undefined

Oleg
23.07.2018
04:39:49

Denis
23.07.2018
04:43:33

Oleg
23.07.2018
04:53:08
https://codesandbox.io/s/m481z2v38y
Ты что-то нерабочее выложил, но всё равно видно почему так ) ты запрашиваешь json, потом зачем-то опять его запрашиваешь, потом пытаешься его отрисовать (а данных нет), из-за этого myChart будет undefined, а потом пытаешься еще обратиться к myChart.update… короче, много странных моментов в этом коде

Denis
23.07.2018
04:55:33
как сделать else?)
почему так не работает
var lol = (exist(json));
if (lol == true){load()}
else{
while (lol == false) {lol = setTimeout(exist(json), 3000)}
}
load();

Google

Denis
23.07.2018
05:04:49
сраный джаваскрипт ?
var lol = (exist(json));
if (lol){load()}
else{
while (!lol) {lol = setTimeout(exist(json), 3000)}
}
load();
так тоже

Oleg
23.07.2018
05:10:26
сраный джаваскрипт ?
отличный язык, просто тебе его надо подизучить. например, setTimeout бесполезно вызывать так, как ты вызываешь. попробуй в консоли setTimeout(console.log('wrong'), 3000), а затем setTimeout(() => {console.log('right')}, 3000) и посмотри разницу

Denis
23.07.2018
05:10:59
я пишу на питоне, js вынужденная мера

Andrey ?
23.07.2018
05:11:50

Oleg
23.07.2018
05:11:55
без него зависает
не знаю что там зависает, но по поводу своей задачки лучше поспрашивай в @js_noobs_ru, там должны помочь

Andrey ?
23.07.2018
05:12:00

Denis
23.07.2018
05:12:13

Andrey ?
23.07.2018
05:12:21

Denis
23.07.2018
05:12:40

Andrey ?
23.07.2018
05:13:02
Всем срочно ¯\_(ツ)_/¯

Denis
23.07.2018
05:13:59

Andrey ?
23.07.2018
05:14:34
Что не так с твоим кодом
Не setTimeout(a(), 1), а setTimeout(() => { a() }, 1)

Denis
23.07.2018
05:22:24

Andrey ?
23.07.2018
05:23:27

Denis
23.07.2018
05:24:35
хром завис

Google

Admin
ERROR: S client not available

Вишневый чай
23.07.2018
06:17:05
Кто тут про по распутыванию говнокода?
как это должно выглядеть если писать очевидным образом вызов функции в then
return params.process().then(this._done.bind(this, resolve))

Pavel
23.07.2018
06:18:37
чего сразу говнокода, норм написано)))

Andrey
23.07.2018
06:18:55
Хотя, будет только больше кода, это да.

Вишневый чай
23.07.2018
06:20:10

Andrey
23.07.2018
06:20:51
Ты же можешь _done переписать?

Pavel
23.07.2018
06:20:52
да вроде все понятно
resolve аргумент
bind для того что бы коллбек не писать
then(function (resolve) {
this._done(resolve)
})

Вишневый чай
23.07.2018
06:21:46

Andrey
23.07.2018
06:21:51
Не переписывая _done ты код не изменишь.

Вишневый чай
23.07.2018
06:22:13
заменил на
return params.process().then(() => this._done.bind(this, resolve))
поломалось

Pavel
23.07.2018
06:22:42

Andrey
23.07.2018
06:22:42

Pavel
23.07.2018
06:22:58
bind возвращает функцию обертку, которую нужно вызвать
то есть в первом вареанте bind вернет тот самый колбек

Andrey
23.07.2018
06:23:07
Перепиши _done уже, чтобы она промис возвращала.

Google

Вишневый чай
23.07.2018
06:23:12
ааа над на call заменить точн

Pavel
23.07.2018
06:24:01
А я ошибки делаю в слове "варианте" с утра ? норм практика)))

Andrey
23.07.2018
06:25:06
Тупой вопрос, а зачем там call, если можно просто () => this._done(resolve)?

Pavel
23.07.2018
06:25:10

Andrey
23.07.2018
06:25:46

Pavel
23.07.2018
06:26:21
Ну ресолв это же агрумент полученый от then тут вероятнее всего был вопрос в не понимании как оно работает

Andrey
23.07.2018
06:27:12

Oleg
23.07.2018
06:28:33
then получает value, а не resolve. ну это так, чтобы не запутаться )

Pavel
23.07.2018
06:29:03
Кто уже как называет)