Установка / чтение файлов cookie не работает последовательно (первый работает, второй не работает) - PullRequest
0 голосов
/ 19 февраля 2019

столкнулся с еще одной странной проблемой.Во-первых, я использовал поиск, но не нашел именно то, что мне нужно, поэтому я задал новый вопрос.не стесняйтесь связывать ответ, который я не нашел самостоятельно.

Я работаю над проектом Sharepoint React.поэтому у меня есть серверная часть sp и запущенный сервер разработки (возможно, это важно, так как chrome действует по-разному при загрузке с локальной машины).

Я написал сервис, который извлекает данные конфигурации для моего приложения из списка sp.,Я не хочу, чтобы приложение всегда загружало конфигурацию при запуске, и для этого я использую куки.Дело в том, что в моем классе обслуживания у меня есть 2 функции, которые либо загружаются из sp и устанавливают cookie, либо читаются из cookie, если они доступны.Первая функция (loadConfig) работает нормально, cookie можно установить и прочитать, и я вижу его в настройках Chrome.Второй (loadNavConfig) должен делать то же самое, но cookie всегда неопределен, и я не могу найти его в настройках Chrome.это довольно странно, imho, и я, честно говоря, понятия не имею, что является причиной этой проблемы.

Заранее спасибо!

public static getMCSConfig(): Promise<IMCSConfig> {
    return new Promise<IMCSConfig>(async (resolve) => {
        let data: IMCSConfig;
        let cookieData = MCSCookieService.get(mcsConfigCookieKey);
        if (cookieData) {
            data = JSON.parse(cookieData);
        } else {
            data = await this.loadMCSConfig();
            MCSCookieService.set(mcsConfigCookieKey, JSON.stringify(data));
        }
        MCSNavNodeConfigService.initConfig(data);
        resolve(data);
    });
}

private static loadNavigationNodeConfig():Promise<Array<INavigationNode>> {
    return new Promise<Array<INavigationNode>>(async (resolve)=>{
        let items: any;
        let cookieData = MCSCookieService.get(mcsNavNodeConfigCookieKey);
        if (cookieData) { // undefined
            items = JSON.parse(cookieData);
        } else {
            items = await web.lists.getByTitle(mcsNavNodeConfigTitle).items.select("FileRef,*").getAll();
            MCSCookieService.set(mcsNavNodeConfigCookieKey, JSON.stringify(items)); // doesn´t work
        }
// .... and so on
    });
}

ожидается: установка / чтение файлов cookie соответствует фактическому результату:первый набор файлов cookie / чтение работает, второй файл cookie не

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...