Как я могу использовать перехватчик для смены токена?По сути, когда я достигаю своего лимита запросов, я хочу изменить токен до того, как запрос будет сделан.До сих пор я пытался добавить его в запрос на получение, но я получил неопределенную ошибку.Вот код:
//class for twitter instance
class TwitterDev{
constructor(twitterObj){
if(Object.keys(twitterObj).includes('token')){
this.token= twitterObj.token;
}
this.instance = function twitterAxios(x){
let token = x;
let promise = new Promise((resolve, reject) => {
let header = axios.create({
baseURL: "https://api.twitter.com",
timeout: 90000,
headers: {
Authorization: "Bearer " + token }
});
resolve(header);
reject(error);
});
return promise;
}
}
get(uri, params={}){
return this.instance(this.token).then(obj=>{return obj.get(uri,params)});
//route that instantiates class
let token = process.env.TWITTER_TOKEN,
token2 = process.env.TWITTER_TOKEN2
let twitter3 = new TwitterDev({token:token});
let ids_test = ["xxxxx"];
let globalCounter2 = 0;
ids_test.forEach(id => {
let userObj = {
params: {
id: id,
count: "5000",
stringify_ids: true
}
};
getUserFollowers("/1.1/followers/ids.json", userObj, []).then(res => {
console.log(res.length);
fs.writeFileSync(
`${userObj.params.id}_p2_${setDate()}.json`,
JSON.stringify(res)
);
}).catch(err=>handleRequestError(err));
});
Функция get user возвращает метод twitter3 и вызывает метод .get () с параметрами, здесь я попытался вставить перехватчик.Есть идеи?