Пользователь
Хорошо, когда статья написана с хорошим чувством юмора)
Зато с rxjs можно локаничненько сделать retry для http запросов. Типо какdefer(() => this._telegraf.telegram.sendDocument(this._chatID, url, { caption, }), ) .pipe(retry({ count: 3, delay: 5 * 1000 })) .subscribe({ next: async (value) => { if (value?.message_id) await this.cache.set(`${MESSAGE_ID_PREFIX}_${value.message_id}`, { text: caption }); }, error: (error) => { const errMessage = `Error: ${error}. File url: ${url}`; this.logService.error(errMessage); this.sendAlert(errMessage); }, }); А больше плюсов для рядовых задач я пока не нашел))
defer(() => this._telegraf.telegram.sendDocument(this._chatID, url, { caption, }), ) .pipe(retry({ count: 3, delay: 5 * 1000 })) .subscribe({ next: async (value) => { if (value?.message_id) await this.cache.set(`${MESSAGE_ID_PREFIX}_${value.message_id}`, { text: caption }); }, error: (error) => { const errMessage = `Error: ${error}. File url: ${url}`; this.logService.error(errMessage); this.sendAlert(errMessage); }, });
Хорошо, когда статья написана с хорошим чувством юмора)
Зато с rxjs можно локаничненько сделать retry для http запросов. Типо как
defer(() => this._telegraf.telegram.sendDocument(this._chatID, url, { caption, }), ) .pipe(retry({ count: 3, delay: 5 * 1000 })) .subscribe({ next: async (value) => { if (value?.message_id) await this.cache.set(`${MESSAGE_ID_PREFIX}_${value.message_id}`, { text: caption }); }, error: (error) => { const errMessage = `Error: ${error}. File url: ${url}`; this.logService.error(errMessage); this.sendAlert(errMessage); }, });
А больше плюсов для рядовых задач я пока не нашел))