使用redux减少处理承诺

时间:2017-09-05 07:37:24

标签: reactjs promise xmlhttprequest react-redux reduce

我正在使用react + redux

构建一个Web应用程序

我有一个数据表,用户可以从表中删除行

为了避免用户必须等到从服务器(更准确地说是数据库)中删除数据,我想采用成功导向的方法,这意味着从状态中删除项目并发送从数据库中删除此项的HTTP请求。

我想从reducer

执行

问题是我应该在哪里处理已解决或被拒绝的承诺? 如果被拒绝,我也想通知用户。

由于

1 个答案:

答案 0 :(得分:0)

  

我应该在哪里处理已解决或被拒绝的承诺?如果它被拒绝我还想通知用户?

应该通过reducers进行API调用。

//减速器

const deleteRecord = (state="somestate")=>{
     fnAPICall()

}

function fnAPICall(){
    fetch('some_url').then(function(response) {
      if(response.ok) {

        dispatch({"type":"DELETE_RECORD",record_id : some_id});//actual delete from memory

         return response.json();
      }

      dispatch({"type":"DELETED_FAILED",record_id : some_id}); //Record deleting failed.notify user
    })
}