因此,有一點背景知識,我有這個項目,並且正在處理版本2,其中涉及添加離線功能。我堅持以下堆棧正在改變這將涉及到的開銷:使用攔截器在離子應用程序中處理離線數據
Laravel API MYSQL 離子
我聽到了很多關於使用袋/ CouchDB的同步,但不幸的是,我不能改變一切使用這個堆棧。
我決定在我有限的AngularJS/JS知識中使用HTTP攔截器攔截所有請求,檢查它是否爲POST/PUT請求,檢查設備是否處於脫機狀態並將數據保存在本地存儲中或繼續進行請求。這是問題開始的地方。
這裏是我的APIInterceptor:
App.factory('APIInterceptor', function ($q) {
return {
request: function (config) {
if(config.method == 'POST' || config.method == 'PUT')
{
//Add data to localstorage
//Exit without actually sending the request to the server.
return $q.reject();
}
return config || $q.when(config);
}
};
});
正如你可以看到我回來.reject()
但我需要的是模仿API響應和請求是否成功處理,所以我的應用程序可以傳回給我的服務正常進行。數據存儲在localstorage中後,基本上返回成功,狀態碼200
。
有關我如何做到這一點的任何建議?
我還沒有嘗試過你的代碼,因爲我最終走下了服務路線。按照你的建議接受。 :)謝謝 – ChrisBratherton
這是正確的選擇:-)乾杯。 – LeftyX