아래 코드는 제 코드입니다. 첫 번째 콘솔 메시지는 결과를 보여주고, 두 번째 메시지는 결과를 표시하지 않습니다 ... 이것은 마술처럼 약속을 어 기지 않습니다 ... 어떻게 가능합니까? 나는 정말 내 코드 덤비는거야 ... 바로이 문제를 해결하기 위해 추가 deferreds를 작성할 필요했던 지난 몇 개월 동안
this.saveAsTemplate = function(name, asNew) {
return _saveSet(name, asNew)
.then(function(result) {
// -> result is set correctly
console.log('oh but youll ****ing work... wth?', result);
$.ajax({
url: '/rest/filter/template/'+result.id,
type: 'PUT',
}).success(function(result) {
console.log('successfully saved template, result: ', result);
});
})
.then(function(result) {
// -> result is undefined :(
console.log('no ****ing result: ', result);
});
. 도와 주시면 대단히 감사하겠습니다!
편집 : 제대로이 질문에서 찾을 수 있습니다 체인 약속의 좋은 좋은 예 솔루션 : 그런 식으로 체인 .then
를 들어 How do I chain three asynchronous calls using jQuery promises?
당신이'.success'를 교체해야'.done','.success'을 사용되지 않습니다. ('success : fn'과 혼동하지 말것) –
* * 코드가 깨졌습니다. 왜 사람들은 문제가 항상 자신의 버기 코드 대신 단지 한 사람 만 보았던 것보다 자신이하고있는 것을 아는 거대한 전문가 집단이 작성한 외부 라이브러리를 사용한다고 가정합니까? 아니, jQuery에서 버그를 발견하지 못했습니다. 자신의 코드에 버그를 작성했습니다. – meagar
와우, 나는 그의 질문에서 그가 외부 도서관을 비난하고 있다고 제안하는 것을 보지 못했다. –