Если вы имеете в виду «вызовы API, которые отправляются в результате загрузки JavaScript для страницы A», то вы захотите использовать localStorage
для сохранения информации в браузере по всей странице грузы. Чтобы реализовать это, вы должны будете предоставить логику, которая проверяет localStorage
«кэшированную» информацию перед вызовом API для данных. Таким образом, если ваш пользователь нажмет кнопку «Назад» в браузере, JavaScript проверит, что уже есть данные из API в localStorage
, а затем пропустит выполнение вызова API.
Примечание: вам нужно будет localStorage.clear()
или localStorage.removeItem('itemKey')
удалить элемент, если вы хотите очистить «кэшированные» данные. Эта логика будет зависеть от вашего варианта использования.
Примером может быть следующий:
@Component({
selector: 'app-hero-list',
templateUrl: './hero-list.component.html'
})
export class HeroListComponent implements OnInit {
constructor(private heroService: HeroService) {}
ngOnInit() {
if (!window.localStorage.getItem('myData')) {
this.heroService.loadData().subscribe(
(data) => window.localStorage.setItem('myData', JSON.stringify(data))
);
} else {
// Load the data by parsing the stored JSON string:
// const data = JSON.parse(window.localStorage.getItem('myData'))
}
}
}
select User_id
,case
when (YEAR(DOB) < 1980 AND Job_Title = "manager") then 'Old Fart'
when (YEAR(DOB) < 1980 AND Job_Title = "associate") then 'Old Timer'
when (YEAR(DOB) > 1980 AND Job_Title = "manager") then 'Eager Beaver'
when (YEAR(DOB) > 1980 AND Job_Title = "associate") then 'Slacker'
else 'nobody'
end
as Real_Title
from users
Если я правильно понял, я думаю, вы ищете оператор CASE :
SELECT User_id,
(CASE
WHEN YEAR(DOB) < 1980 AND Job_Title = "manager" THEN "Old Fart"
WHEN YEAR(DOB) < 1980 AND Job_Title = "associate" THEN "Old Timer"
...
ELSE "Unknown Title"
END) AS Real_Title
FROM users;