tôi thấy đoạn mã này mà những gì tôi muốn nó:Promises jQuery và Backbone
var promise = this.model.save();
$.when(promise).then(function() {
console.log(promise.responseText);
});
Tôi muốn lấy lại responseText
từ cuộc gọi Backbone của tôi để this.model.save()
. Mã này đã được ghi nhận là here. Nhưng nó không ghi lại bất cứ điều gì, ngay cả khi tôi kéo một chuỗi văn bản thô trong cuộc gọi console.log()
.
Có thể ai đó vui lòng giải thích các thuật ngữ của giáo dân về lời hứa của jQuery là gì? Tôi đã đọc về họ, nhưng tôi không nghĩ rằng tôi hoàn toàn hiểu được họ là gì. Điều đó có thể giúp tôi hiểu tại sao mã này không hoạt động đối với tôi. Nếu tôi console.log(promise)
ở giữa dòng đầu tiên và dòng thứ hai của mã, sau đó tôi nhận được responseText
. Vì vậy, có điều gì đó đang xảy ra trong số $.when
hoặc then
gây ra lỗi này.
EDIT:
Sau khi đọc bài viết này, tôi phát hiện ra tôi có thể làm điều này:
var promise = this.model.save();
$.when(promise).then(null, function(obj) {
console.log(obj.responseText);
});
Nhưng tôi không hiểu những gì các null
đại diện. then
dường như có hai tham số, chức năng thành công và chức năng lỗi. Nhưng chức năng thành công không phải là đầu tiên? Tôi nhận được phản hồi 200 từ máy chủ.
đọc http://css.dzone.com/articles/exploring-deferred-and-promise –
Dường như một bài viết hay. Cảm ơn. – sehummel
không có probs :) hạnh phúc đọc .. –