gpt4 book ai didi

jquery - Backbone.js 中菊花链依赖的 AJAX 请求

转载 作者:行者123 更新时间:2023-12-01 04:21:28 24 4
gpt4 key购买 nike

我正在寻找菊花链主干请求,其中第二个请求依赖于第一个请求的结果。我该如何以正确的方式做到这一点? jQuery $.done() 似乎不适合我。为了更好地解释,这里有一个假设的例子:

我有一个供应商列表,每个供应商都有一个他们向公司提供的零件列表。我想获取所有供应商,然后获取此供应商列表的所有零件。这是我尝试使用但没有运气的示例代码。

var App = {};

App.Supplier = Backbone.Model.extend({ });
App.Part = Backbone.Model.extend({ });

App.Suppliers = Backbone.Collection.extend({
model: App.Supplier
});

App.Parts = Backbone.Collection.extend({
model: App.Part
})

var suppliers = new App.Suppliers;
var parts = new App.Parts;

var supplier_request = suppliers.fetch();

supplier_request.done(function(){
parts.fetch_by_suppliers([supplier1, supplier2, ...]);
});

所发生的情况是,在收到第一个回复后、在实例化 App.Supplier 模型之前立即触发第二个请求。结果是——供应商列表保持为空,第二个请求以空的供应商列表触发。

最佳答案

为了完成这种菊花链,您需要将成功回调传递给 fetch 方法。 success 回调作为参数传递给 (collection, response)。您可以按以下方式重写示例中的代码:

...

suppliers.fetch({success:
function(collection, response){
parts.fetch_by_suppliers(collection);
}
});

Backbone.js 文档对此进行了很好的解释。 http://documentcloud.github.com/backbone/#Collection-fetch

希望这对你有帮助!

关于jquery - Backbone.js 中菊花链依赖的 AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10082712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com