Это одно из мест, с помощью которого привязка данных, используемая во многих новых фреймворках 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 изучение обещаний и наблюдаемых, которые являются новыми способами для создания асинхронных материалов.
В отличие от того, что может указать название «игнорировать». .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
добавить файл.
В этом случае вы можете остановить отслеживание templates.js
с помощью
git rm --cached public/app/templates.js
Как объяснили другие, .gitignore
игнорирует только добавляемый контент. Например, если вы часто используете git add .
и имеете templates.js
в своем .gitignore
, тогда git не добавит его.
После того как файл был добавлен в git-репозиторий один раз, он будет продолжать отслеживаться независимо от того, указан ли он в файле .gitignore.
Я предполагаю, что вы ранее добавили файл template.js, и в этом случае он будет продолжать отслеживать изменения, пока вы не удалите его из репозитория. После удаления файла из репозитория он будет правильно проигнорирован через файл .gitignore.
. Способ удаления файла из репозитория git (командной строки) без его удаления -
git rm --cached FILENAME
Затем, как только вы сделаете это и попытаетесь зафиксировать файл в своем gitignore, он этого не сделает.
Обратите внимание: если вы специально добавите файл, который у вас есть в своем gitignore, ваше ручное добавление файла переопределит gitignore.
Если вы уже отслеживаете файл (git add
на нем и git commit
), .gitignore
не поможет.
Я считаю, что вы хотите остановить отслеживание файла и , то используйте .gitignore
, чтобы исключить его. Чтобы остановить отслеживание файла, но сохраните файл, используйте:
git rm --cached <file>