Size: a a a

JavaScript.Ninja

2021 July 15

IK

Illya Klymov in JavaScript.Ninja
один для всех
источник

M

Michael in JavaScript.Ninja
Чем это не синглтон?
источник

IK

Illya Klymov in JavaScript.Ninja
Синглтон - сущность которая МОЖЕТ существовать только в одном экземпляре. То есть вы никак не можете создать еще одну
источник

M

Michael in JavaScript.Ninja
ну а в случае с фабрикой? Вызывая ее, возвращается тот же инстанс класса. Как я могу создать еще один?
источник

M

Michael in JavaScript.Ninja
.
источник

M

Michael in JavaScript.Ninja
Видимо да
источник

M

Michael in JavaScript.Ninja
Давайте я сейчас набросаю пример того, чего мне надо
источник

M

Michael in JavaScript.Ninja
class MyRealtime {
 constructor() {
   this.rt = new Realtime(config, userId) // внешняя либка
 }

 subscribeToEvent1() {
   this.rt.requiredService.init()
   this.rt.requiredService.subscribe('neededEvent', callback)
   // какие-то действия с внешней либой
 }

 unsubscribeFromEvent1() {
 }

 subscribeToEvent2() {
   // какие-то действия с внешней либой
 }

 unsubscribeFromEvent2() {
 }
}

export default new MyRealtime();
источник

M

Michael in JavaScript.Ninja
И потом эти методы использовать в реакт компонентах для подписки / отписки
источник

M

Michael in JavaScript.Ninja
ну вот видимо не надо
источник

M

Michael in JavaScript.Ninja
   const realtime = new Realtime(config, userId) // внешняя либка

 export function subscribeToEvent1() {
   realtime.requiredService.init()
   realtime.requiredService.subscribe('neededEvent', callback)
   // какие-то действия с внешней либой
 }

 export function unsubscribeFromEvent1() {
 }

 export function subscribeToEvent2() {
   // какие-то действия с внешней либой
 }

  export function unsubscribeFromEvent2() {
 }
источник

M

Michael in JavaScript.Ninja
Вот так что ли?
источник

M

Michael in JavaScript.Ninja
а, или просто в объект литерала?
источник

M

Michael in JavaScript.Ninja
ну надо где-то конструктор вызывать
источник

M

Michael in JavaScript.Ninja
И в чем преимущество над классом?
источник

M

Michael in JavaScript.Ninja
Да и -за этого  null придется везде optional chaining совать, бо тайпскрипт
источник

II

IIII IIII in JavaScript.Ninja
Как тестить вещи связанные со временем если в бд они пишутся и проверяются через now()?
источник

II

IIII IIII in JavaScript.Ninja
Есть варианты кроме setTimeout?
источник

MB

Misha Bondarenko in JavaScript.Ninja
источник

IK

Illya Klymov in JavaScript.Ninja
мокать Date.now()
источник