Я создаю приложение nodejs, которое передает данные в остальные API.Для того, чтобы остальные API потребовали токен аутентификации.
Для этого я создал класс HandleAuth.В этом классе Handle Auth у меня есть 2 асинхронных метода, которые получают 2 разных токена.Затем эти токены используются для отправки запроса конечным точкам API.
var request = require('request')
'use strict'
class HandleAuth {
constructor(){
}
async getReqToken(options){
return new Promise((resolve, reject) => {
request(options, function (err, resp, body){
if(!err)
resolve(body)
else
reject(err)
})
})
}
async getRespToken(){
return new Promise((resolve, reject) => {
request(options, function (err, resp, body){
if(!err)
resolve(body)
else
reject(err)
})
})
}
}
Я хочу сделать этот Auth доступным во всем приложении.Кроме того, я также хочу получить оба токена, как только будет создан объект этого класса.Как мне этого добиться?
У меня возникли следующие проблемы, которые я вызываю в конструкторе оба метода.Проблема: конструктор не может ждать.
В настоящее время каждый раз, когда я хочу сделать новый запрос, я получаю новый токен.Это расточительно, потому что я знаю, что оба токена действительны в течение 1 часа.
Как мне этого добиться?Мне нужен почти единственный синглтон (который я знаю в узле, который мы получаем через кеширование, когда нам требуется файл), который получает оба токена сразу после его создания и делает их доступными для использования через любую часть моего приложения, которую я желаю.