0
有沒有一種方法可以創建帶有多個用作鏈式回退的URL的$資源?因此,當主機在第一個url上無法訪問時,不會返回錯誤,而是嘗試將請求發送到第二個url等等。Angular - 具備後備URL的ngResource
感謝您的任何想法,
詹森
有沒有一種方法可以創建帶有多個用作鏈式回退的URL的$資源?因此,當主機在第一個url上無法訪問時,不會返回錯誤,而是嘗試將請求發送到第二個url等等。Angular - 具備後備URL的ngResource
感謝您的任何想法,
詹森
此函數包裝了$ ngResource並採取的最後一個參數(回調[{成功,錯誤},{成功,錯誤}]的數組,並通過每個循環使用的承諾。
//using lodash
function ngResourceWrapper() {
var args = _.toArray(arguments);
var callbacks = _.last(args);
if (_.isArray(callbacks)) {
args.splice(args.length - 1, 1); //remove last element
}
var promise = $ngResouce.apply($ngResouce, args).promise;
if (callbacks) {
callbacks
.forEach(function(callback) {
promise
.then(callbacks.success, callbacks.error);
}
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>
這是否你想要做什麼?
$ngResource.get(url).then(success, useFallbackUrl);
function useFallbackUrl(){ // you can also store these somewhere
$ngResource.get(url2).then(success);
}
function success(){
//do stuff
}
而不是指定每個請求的回退,我希望隱藏重試邏輯。所以資源可以這樣構造 - $ resource([url,fallback1,fallback2,fallbackN],/ *其他ngResource參數* /); – Jensen