次のコードで監視可能な配列をバインドするために、ノックアウトから.net WebAPIへの3つの別々のgetリクエストを実行するための最良の方法を誰かに教えてもらえますか?Firebugはロード時間を数ミリ秒と表示しますが、実際には数秒かかります。
javascript asyncを見る前に、いくつかのガイダンスを得たいと思っていました。
$(function () {
var model = new viewModel();
model.todayTimes([]);
model.zones([]);
model.dayTypes([]);
$.get('../api/Zone', function (data) {
model.zones(data);
});
$.get('../api/DayType', function (data) {
model.dayTypes(data);
});
$.get('../api/TemplateTime/?dayTypeId='+model.dayType(), function (data) {
model.todayTimes(data);
ko.applyBindings(model);
});
編集
function viewModel() {
var self = this;
self.dayType = ko.observable(1);
self.todayTimes = ko.observableArray([]);
self.dayTypes = ko.observableArray([]);
self.zones = ko.observableArray([]);
//other code
$.getJSON("/api/Zone", function(data) {
self.zones(data);
$.getJSON("/api/DayType", function(data) {
self.dayTypes(data);
});
$.getJSON('../api/TemplateTime/?dayTypeId=1', function (data) {
self.todayTimes(data);
});
}
$(function () {
ko.applyBindings(new viewModel());
});