Посмотрите на этот пример:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope,$http) {
var getJoke = function(){
return $http.get('http://api.icndb.com/jokes/random').then(function(res){
return res.data.value;
});
}
getJoke().then(function(res) {
console.log(res.joke);
});
});
Как вы можете видеть, getJoke
возвращает разрешенное обещание (оно разрешено при возврате res.data.value
). Таким образом, вы ждете, пока запрос $ http.get не будет завершен, а затем выполнится console.log (res.joke) (как обычный асинхронный поток).
Это plnkr:
Ошибка, которую я получил, это «соответствующий файл символов не был найден в этой папке» в окне Debug => Modules даже после того, как DLL и PDB были доступны и собраны вместе, поэтому мне не удалось отладить в целевой DLL на который ссылается мой основной проект.
Публикация этого здесь, если он помогает кому-то просматривать с сборкой «Смешанная платформа» для целевой DLL. Я сделал две вещи, чтобы пройти мимо этого:
Я столкнулся с этой проблемой, и ответ был прост.
В Visual Studio есть две настройки уровня проекта, которые могут создавать файлы .pdb.
Вы хотите # 1 для отладки. Забудьте о # 2. Дайте файлу №2 другое имя, чем файл # 1, чтобы решить эту ошибку.
Я не знаю, почему microsoft указывает # 2 как .pdb-файл. Это просто сбивает с толку.
Я пробовал все возможные решения, и, наконец, он работал, когда я отключил опцию Enable native code debugging
под Debugger engines
из Properties > Debug
.
У меня была та же проблема, что и @DmainEvent. По-видимому, DLL, которую я использовал, не была той же версией, что и pdb, которую я только что скомпилировал, поэтому я получил сообщение об ошибке.
Если у вас есть эта проблема, попробуйте использовать dll и pdb из того же сборник пробег.
Одна из вещей, с которыми я столкнулся, заключалась в том, что отладка была отключена в проекте, на который ссылается, где находится код. В моем случае я создал новую конфигурацию под названием «Разработчик», и по умолчанию отладка была отключена.
Я обнаружил, что это произошло потому, что для свойства «Свойства» => «Отладка» => «Пуск» было выбрано «Запуск внешней программы» вместо «Проект». Таким образом, новый файл pdb не совпал, потому что фактический exe был неправильным.
Без дополнительной информации о том, что вы делаете, трудно выйти за рамки «отладчик ищет файл символов, который соответствует скомпилированному коду и не может найти его в папке, в которой скомпилирован код».
Некоторые вещи, о которых нужно подумать:
Поясните свой вопрос, если вы хотите получить лучший ответ. Особенно, что вы подразумеваете под «Я хочу использовать символы».
Для BizTalk (и других) проектов это может быть потому, что есть версия сборки, которую вы пытаетесь отлаживать уже в GAC. Когда вы запускаете единичный тест или удаляете F5 для отладки, новая версия компилируется локально. Тем не менее, версия в GAC используется, а вновь созданный PDB не соответствует DLL в GAC.
. Один из способов - отменить выбор сборки для всего, кроме вашего тестового проекта, используя Configuration Manager, как показано ниже: