Tôi có một trường hợp trong đó cuộc gọi fetch()
của mô hình sẽ trả về dữ liệu mà từ đó một thuộc tính sẽ được chuyển đến API khác và loại trả về từ API đó sẽ là dữ liệu thực sự cần thiết.Mô hình xương sống: Yêu cầu Ajax trong ghi đè phân tích
var Issue = Backbone.Model.extend({
urlRoot: 'https://api.github.com/repos/ibrahim-islam/ibrahim-islam.github.io/issues',
parse: function(response, options){
var markdown = new Markdown({ text : response.body });
markdown.fetch({
contentType: 'application/json',
type: 'POST',
data: JSON.stringify(markdown.toJSON()),
success: function(data){
response.body = data;
}
});
return response;
}
});
var Markdown = Backbone.Model.extend({
defaults:{
'text': '',
'mode' : 'markdown'
},
url: 'https://api.github.com/markdown'
});
Vì vậy, khi một Issue
sẽ được lấy:
var issue = new Issue({id: 1});
issue.fetch().then(function(){
//do stuff
});
Nó sẽ có một tài sản của body
chứa văn bản cú pháp markdown do đó tôi cần phải vượt qua để API khác và nhận được câu trả lời rằng đó sẽ được chuyển xuống để xem.
Như đã thấy ở trên, tôi đã thử ghi đè parse
nhưng loại trả về phải là đối tượng và fetch
sẽ là async
vì vậy tôi có thể làm gì ở đây để thực hiện công việc này?
LƯU Ý: Tôi biết tổng hợp dữ liệu trong máy chủ và sau đó nhận dữ liệu sẽ là ý tưởng tốt nhất nhưng điều đó không thể thực hiện được.
'JSON.stringify (markdown.toJSON()) '- đó sẽ là đôi mã hóa, bạn có chắc bạn muốn điều đó? – Tomalak
@Tomalak Chỉ sau đó yêu cầu của tôi đi qua. Nhưng tôi sẽ thử lại. Cảm ơn lời nhắc. – lbrahim