Как изменить проект C ++ после его создания в CLion? [Дубликат]

Это одно из мест, с помощью которого привязка данных, используемая во многих новых фреймворках JavaScript, будет очень полезна для вас ...

Итак, если вы используете Angular, React или любые другие фреймворки, которые делают два способа связывания данных, эта проблема просто исправлена ​​для вас, поэтому простым языком ваш результат undefined на первом этапе, поэтому вы получили result = undefined до получения данных, а затем, как только вы получите результат , он будет обновляться и присваиваться новому значению, которое отвечает на ваш вызов Ajax ...

Но как вы можете сделать это в чистом javascript или jQuery, например, как вы задали этот вопрос?

Вы можете использовать обратный вызов, обещание и недавно наблюдаемое, чтобы обрабатывать его для вас, например, в обещаниях мы имеем некоторые функции, такие как success () или then (), которые будут выполняться, когда ваши данные будут готовы для вас, с функцией обратного вызова или подписки на наблюдаемые.

Например, в вашем случае, в котором вы используете jQuery, вы можете сделать что-то вроде этого:

$(document).ready(function(){
    function foo() {
        $.ajax({url: "api/data", success: function(data){
            fooDone(data); //after we have data, we pass it to fooDone
        }});
    };

    function fooDone(data) {
        console.log(data); //fooDone has the data and console.log it
    };

    foo(); //call happens here
});

Для получения дополнительной информации n изучение обещаний и наблюдаемых, которые являются новыми способами для создания асинхронных материалов.

9
задан PierreBdR 13 October 2014 в 13:56
поделиться

2 ответа

Я попытался установить CMAKE_C_FLAGS

Согласно документации , CMAKE_C_FLAGS установил флаги языка C для всех типов сборки . Для C ++ вам нужно использовать CMAKE_CXX_FLAGS вместо:

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
18
ответ дан Gluttton 28 August 2018 в 11:53
поделиться

Для CMake 3.1 или более поздней версии вы можете установить переменную CMAKE_CXX_STANDARD на 11:

Значение по умолчанию для свойства CXX_STANDARD целевых объектов.

Эта переменная используется для инициализации свойства CXX_STANDARD для всех целей.

CXX_STANDARD documentation :

Стандарт C ++, чьи функции запрашиваются для создания этой цели.

Это свойство указывает стандарт C ++, чьи функции запрашиваются для создания этой цели. Для некоторых компиляторов это приводит к добавлению в строку компиляции флага типа -std=gnu++11.

Поддерживаемые значения: 98, 11 и 14.

Если запрашиваемое значение не приводит к при добавлении флага компиляции для используемого компилятора вместо этого будет добавлен предыдущий стандартный флаг. Это означает, что использование:

set_property(TARGET tgt PROPERTY CXX_STANDARD 11)

с компилятором, который не поддерживает -std=gnu++11 или эквивалентный флаг, не приведет к ошибке или предупреждению, но вместо этого добавит флаг -std=gnu++98, если он поддерживается. Это поведение «распада» можно контролировать с помощью целевого свойства CXX_STANDARD_REQUIRED .

См. Руководство cmake-compile-features (7) для получения информации на компилируемых функциях.

Это свойство инициализируется значением переменной CMAKE_CXX_STANDARD, если оно задано при создании цели.

9
ответ дан Casey 28 August 2018 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: