Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   ООП в прототипном стиле (https://javascript.ru/forum/misc/62234-oop-v-prototipnom-stile.html)

Tecvid 01.04.2016 00:46

Rise,
спасибо большое!)

Tecvid 01.04.2016 01:09

Rise,
да, но в моём случае это значения не имеет, все аудио на одно лицо, берётся их продолжительность и кнвертирется в человекопонятный формат, если есть id3 теги, читается инфо оттуда и тд, и всё это одними и теми же методами для всех аудио, получается что-то вроде audio.getDuration, audio.play и тд

destus 01.04.2016 08:32

Цитата:

Сообщение от Tecvid (Сообщение 412617)
Rise,
а в случае использования функционального стиля такого не будет? или так будет только в случае ajax?

Пора уже переходить на ES6, юзать промисы и строить асинхронные цепочки.

Tecvid 01.04.2016 11:46

destus,
я лучше не буду торопиться с этим)

protoquest 02.04.2016 12:12

Цитата:

Сообщение от Rise
новый запрос будет сбрасывать текущий незавершенный запрос

Вот видно, что у Вас есть опыт, при этом понимание происходящего нулевое. там не будет ничего сбрасываться, просто уже активированный запрос не может отработать заново. То есть, первый запрос отработает, остальные -- нет

protoquest 02.04.2016 12:17

Цитата:

Сообщение от Tecvid
мне кажется что объект постоянно будет висеть в памяти и может даже утечка образоваться, планирую далее все объекты таким образом сделать, но сначала хотел бы уточнит стоит ли?

C Чего Вы взяли? Как только запрос завершится, все вычистится GC, ничего там не будет по памяти. Только если будете делать request1 = new Ajax; request2 = new Ajax, так будут у вас зомби висеть, но Вы же не ССЗБ?

protoquest 02.04.2016 12:19

Цитата:

Сообщение от Tecvid
а в случае использования функционального стиля такого не будет?

причем тут вообще функциональный стиль? Он вам чушь вообще сказал. Суть в том, что xhr отрабатывает единожды.

Tecvid 02.04.2016 12:22

Цитата:

Сообщение от protoquest
Как только функция отработает, все вычистится GC, ничего там не будет по памяти.

ясно, спасибо)

protoquest 02.04.2016 12:32

Tecvid,
Если Вам надо, Вы можете и отложенные запросы делать, типа
window.request = new Ajax // через var не объявлять
//another shit here
request.foo()
// но не забывайте делать тогда

delete window.request

// или, как вариант(хуже)

var request = new Ajax 
//another shit here
request.foo()
// но не забывайте делать тогда

request = null

так Вы (фигурально выражаясь)освободите память.

protoquest 02.04.2016 14:51

Rise,
Че Вы парите? При чем тут open? на этапе open вообще еще ничего не отправляется.


Часовой пояс GMT +3, время: 18:25.