Gitignore (Исключить выделение) [дубликат]

Это одно из мест, с помощью которого привязка данных, используемая во многих новых фреймворках 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 изучение обещаний и наблюдаемых, которые являются новыми способами для создания асинхронных материалов.

31
задан user1995781 14 May 2015 в 01:31
поделиться

4 ответа

В отличие от того, что может указать название «игнорировать». .gitignore обрабатывается только в файлах git add: другими словами, файл, уже добавленный в репозиторий (index of the), не будет исключен на основе .gitignore.

Сначала вы лучше измените .gitignore, так что файл больше не добавляется. Добавьте следующую строку в файл .gitignore:

public/app/template.js

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

git rm --cached public/app/template.js

Флаг --cached гарантирует, что файл не будет удален из вашей файловой системы. (Если не важно, вы можете использовать git rm public/app/template.js, но это приведет к удалению файла).

Фон

Причина .gitignore не используется проактивно, потому что вы иногда можете захотеть для отмены .gitignore. Скажем, например, вы не хотите отслеживать файлы *.log, вы можете указать *.log в .gitignore. Но если есть конкретный, который вы хотите отслеживать, вы можете добавить git add -f some.log. Флаг -f заставляет git добавить файл.

48
ответ дан Willem Van Onsem 25 August 2018 в 00:26
поделиться

В этом случае вы можете остановить отслеживание templates.js с помощью

git rm --cached public/app/templates.js

Как объяснили другие, .gitignore игнорирует только добавляемый контент. Например, если вы часто используете git add . и имеете templates.js в своем .gitignore, тогда git не добавит его.

4
ответ дан Guy Hughes 25 August 2018 в 00:26
поделиться

После того как файл был добавлен в git-репозиторий один раз, он будет продолжать отслеживаться независимо от того, указан ли он в файле .gitignore.

Я предполагаю, что вы ранее добавили файл template.js, и в этом случае он будет продолжать отслеживать изменения, пока вы не удалите его из репозитория. После удаления файла из репозитория он будет правильно проигнорирован через файл .gitignore.

. Способ удаления файла из репозитория git (командной строки) без его удаления -

git rm --cached FILENAME

Затем, как только вы сделаете это и попытаетесь зафиксировать файл в своем gitignore, он этого не сделает.

Обратите внимание: если вы специально добавите файл, который у вас есть в своем gitignore, ваше ручное добавление файла переопределит gitignore.

10
ответ дан mprat 25 August 2018 в 00:26
поделиться

Если вы уже отслеживаете файл (git add на нем и git commit), .gitignore не поможет.

Я считаю, что вы хотите остановить отслеживание файла и , то используйте .gitignore, чтобы исключить его. Чтобы остановить отслеживание файла, но сохраните файл, используйте:

git rm --cached <file>

6
ответ дан Ross 25 August 2018 в 00:26
поделиться
Другие вопросы по тегам:

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