Size: a a a

Angular - русскоговорящее сообщество

2016 September 02

AK

Alexey Krasman in Angular - русскоговорящее сообщество
она вернет undefined в любом случае
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
this.http.get() - асинхронная ф-я
источник

Sergey Фrolov in Angular - русскоговорящее сообщество
if(this.check())
источник

Sergey Фrolov in Angular - русскоговорящее сообщество
ааа
источник

O

Oleh in Angular - русскоговорящее сообщество
Alexey Krasman
this.http.get() - асинхронная ф-я
да и в этом моя проблема
источник

O

Oleh in Angular - русскоговорящее сообщество
как ни делай возрат она будет в своем "потоке" и на if наплевать что запрос еще не закончился
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
ну это азы JS
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
надо мат часть учить
источник

Sergey Фrolov in Angular - русскоговорящее сообщество
private _status: boolean
connection() {
 this.check().subscribe(status=>{...})
}

check() {
 return this.http.get();
}
источник

O

Oleh in Angular - русскоговорящее сообщество
ткните носом что я опустил
источник

Sergey Фrolov in Angular - русскоговорящее сообщество
Основы работы с потоками
источник

Sergey Фrolov in Angular - русскоговорящее сообщество
он выполняется когда дописываешь
.subscribe()
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
конкретно по твоей задаче нельзя ничего посоветовать пока непонятен контекст
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
что ты пытаешься сделать
источник

O

Oleh in Angular - русскоговорящее сообщество
перед запуском connection() я должен сделать другой запрос, там я получу true / false, если добро то запускаю что в функции connection()
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
тут важно должна ли connection() что-то вернуть
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
или она просто выполняет логику какую-то
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
т.е важно как и где ты вызываешь ф-ю connection()
источник

AK

Alexey Krasman in Angular - русскоговорящее сообщество
контекст ее вызова
источник

O

Oleh in Angular - русскоговорящее сообщество
connect() {
 this.checkWsStatus().subscribe(result => {
       this.websocket_status = result.status
       
       if (this.websocket_status) {
           this.websocket = new WebSocket(this.websocket_url)
               
       const source = new Observable(observer => this.websocket.addEventListener('message', event => observer.next(event.data)))
               
         this.websocket.onopen = () =>
              console.log('Opened')
         this.websocket.onclose = (close) =>
               console.log(`WebSocket connection is closed`)

         return source
       }
    })
}

checkWsStatus() {
   return this.http.get(this.websocket_status_url)
}
источник