API-вызов выполняется некоторой функцией, и вам нужно вызывать функцию всякий раз, когда вам понадобится какая-то операция, например:
API callFile.js:
function randomNumbers() {
let num = parseInt(Math.random()*10000); // In place of API fetch call just to simulate.
return num;
}
Теперь, если это же сгенерированное случайное число необходимо в другом месте, нужно сохранить его в другом месте, где он не сможет получить к нему доступ, и когда-либо у звонка будет другой номер.
часть API callFile.js:
class Storage {
constructor() {
this.num;
}
getNumber() {
if(this.num)
return this.num;
this.num = randomNumbers();
return this.num;
}
}
module.exports = new Storage();
first.js:
let Storage = require('callFile');
function one() {
let num = Storage.getNumber();
}
second.js:
let Storage = require('callFile');
function two() {
let num = Storage.getNumber();
}
Создавая такой класс, вы получаете одни и те же данные везде, а API вызывается только один раз. При необходимости сбросить или вызвать API снова, можно даже передать какой-то элемент в пустое хранилище и снова вызвать API.