#caching #microsoft-teams #spfx #pnp-js
Вопрос:
Я пытаюсь реализовать кэширование для веб-части SPFX с помощью @pnp-хранилища. Кэширование работает нормально в браузере Temas, но в клиенте Teams оно не работает. Это очень медленно, так как мне приходится вызывать несколько функций azure. Может кто-нибудь, пожалуйста, помочь мне с кэшированием в приложении команды. Пожалуйста, ознакомьтесь с приведенным ниже кодом.
// Getting data from session variable
This.isListsExists = this.storage.session.get(isListsExists);
// If it exists in the session variable then don't make the HTTP call. Otherwise, make the
// call and save it in the session variable.
if (!this.isListsExists) {
this.isListsExists = await this.mapDataProvider.checkIfAllListsExist(); //cache
// Setting Session variable.
this.storage.session.put(isListsExists, this.isListsExists, end);
}
Ответ №1:
Я использовал хранилище сеансов, и оно не работало с командами, но когда я изменил его на локальное хранилище, оно сработало как заклинание.
// Edit - Cache code
this.isListsExists = this.storage.local.get(isListsExistsCache);
// console.log("isListsExists - " this.isListsExists);
if (!this.isListsExists) {
this.isListsExists = await this.mapDataProvider.checkIfAllListsExist(); //cache
this.storage.local.put(isListsExistsCache, this.isListsExists, end);
}