有沒有辦法使用jquery.when以特定順序執行多個調用? 客戶第一,第二班,第三個參數,可以等
$.when(
service.doCall('GET', 'customers'),
service.doCall('GET', 'shifts'),
service.doCall('GET', 'params'),
service.doCall('GET','columns')
).then(function(customers, shifts, params, columns) {}
每次調用返回延期的承諾,其與調用的結果解決。 我想要以特定順序執行它們的原因是因爲我顯示的模式顯示哪個調用正在執行以及哪個調用正在執行。在我的服務類中,我在通話完成後使用自定義事件通知。例如,當客戶被加載時:
loadingPopup.loadingCustomers.notify();
然後在我的彈出式類中,我監聽這些事件,如下所示。但是由於調用是以隨機順序執行的,所以我的事件以錯誤的順序被觸發。
me.loadingCustomers.attach(function() {
me.loadCustomersBusy(false);
me.loadCustomersDone(true);
me.loadShiftsBusy(true);
});
me.loadingShifts.attach(function() {
me.loadShiftsBusy(false);
me.loadShiftsDone(true);
me.loadParamsBusy(true);
});
me.loadParams.attach(function() {
me.loadParamsBusy(false);
me.loadParamsDone(true);
me.loadColumnsBusy(true);
});
你是什麼意思的特定順序 –
類似客戶完成後,後移,然後PARAMS,然後再當params爲在發來的請求列 –
@ArunPJohny編輯 – Stvenoo