我们有一个基于REST的应用程序与Angular 2客户端,在应用程序中我们一直在登录一些主数据api像国家,协议等一些6-7次调用它会是好的(性能方面)将所有这些电话合并为一个电话?
答案 0 :(得分:1)
我更喜欢这样做,除非API端点没有返回一些大数据。但是在后端我仍然为每个项目保留不同的功能。
这是一个例子。对于仪表板,我必须填充3个下拉菜单(它们是过滤器)。所以我在/api/dashboard/filters
电话下合并了所有3个电话。在后端,我确实分别获取每个这些,但使用Promise.all
来确保并发。它看起来像吼叫
try {
let [businessUnits, departments, filter3] = await Promise.all([
Employee.getBusinessUnits(),
EmployeeStatus.getDepartments(),
Employee.getFilter3()
]);
res.json({ businessUnits, departments, filter3 });
} catch (e) {
res.json({ error: e });
}
但是如果你使用http / 2,我认为没有必要结合这些调用