2016-04-30 7 views
1

Id нравится анализировать данные вю ресурсов и отправить запрос обратного вызова, в зависимости от данных, я получаю от сервера, как бы я achive это либо с помощью Vue.interceptors или .then обратного вызова:вю обещание ресурс обратного вызова

methods : function(){ 
var resource = this.$resource('index'); 
resource.save({name: 'jimmy'}).then(function (response) { 
    //success callback 
    //resend request lets say if response.data == 'test' 

}, function (response) { 
    // error callback 
    console.log(response) 
}); 
} 

ответ

1

Просто делать то снова позвоните и убедитесь, что вы return обещание созданный им:

methods: { someMethod: function(){ 
    var resource = this.$resource('index'); 
    resource.save({name: 'jimmy'}) 
    .then(function (response) { 

     //resend request lets say if response.data == 'test' 
     if (response.data === 'test') { 
     // do request again and return the Promise. 
     return resource.save({name: 'jimmy'}) 
     } else { 
     return Promise.resolve(response) 
     } 
    }) 
    .then(function(response) { 
     // do something with response 
     // if there was a retry, `response` will be the second one. 
    }) 
    .catch(function (error) { 

    // catch() will catch any errors in the Promise chain, not just the first level. 
     console.log(error) 
    }); 
    } 
} 
+0

Спасибо за ответ, я был тем не менее, думая, цепного обещание, или вариант перехватчика достижения этого. –

+1

Я отредактировал свой комментарий, чтобы улучшить цепочку, но я не могу придумать способ сделать это с помощью перехватчиков. Они не предназначены для ретрисов, но для манипулирования запросом/результатом во всем мире (для вставки заголовков и т. Д.), –

Смежные вопросы