提取数据应该是一个单独的功能吗?

时间:2018-06-19 02:46:06

标签: javascript fetch

我是JS的初学者,我对最佳做法有疑问。我有一些函数调用相同的API但在数据返回时对数据执行不同的操作。我知道对于重复代码,我们应该创建一个新函数,但是为了获取数据创建一个新函数是否有意义?

我必须至少重复4次,如下所示:

showAllBooks(user){
  fetch(`url`)
    .then(response => response.json())
    .then(json => {
            //show all books for user
    });
});


showShortestBooks(user){
  fetch('url')
    .then(response => response.json())
    .then(json => {
            //map through data and show shortest books in user's library
    });
  });

}

1 个答案:

答案 0 :(得分:0)

两件事:

  1. 也许服务器响应应该处理最短的计算部分。由于你有两个特定的案例,我可能会将计算的责任从'观点'并将其发送给模型,即如果您可以控制服务器。
  2. 如果您真的要使用相同的并且更喜欢在前端进行开销计算,那么您应该有一个方法来发出请求并在上述两种方法中调用该方法。基本上将fetch(' url')部分包装在一个单独的方法(如getBooks)中,并在方法中调用getBooks()。根据您的舒适度,您可以使用承诺或回调(win \ m /的承诺)