react native:对服务器(redis数据库)的多个(同时)请求

mdfafbf1  于 2021-06-08  发布在  Redis
关注(0)|答案(0)|浏览(299)

我正在用react native建立一个聊天应用程序。人们可以聊天,还可以在通知屏幕上显示通知(如“johndoe started following you”)。
在每个通知中,我想显示用户的联机状态。联机状态存储在redis数据库中。通过一个简单的axios请求,我可以获得联机状态。

axios({ url: 'http://myserver.com/online/' + userId)}).then(response => console.log(response.data.online)});

每个通知都是一个单独的组件( <Notification /> ). 它看起来像这样(简化):

export default Notification = (props) => {
  const { notification } = props;

  const [isOnline, setIsOnline] = useState(false);

  const getOnline = () => {
    axios({ 
      method: 'get',
      url: 'http://myserver.com/online/' + userId)})
    .then(response => setIsOnline(response.data.online)});
  };

  useEffect(() => {
    getOnline();
  }, []);

  return (
    <View>
      {isOnline ? (
        <Text>ONLINE</Text>
      ) : (
        <Text>OFFLINE</Text>
      )}
      <Text>{notification.username} started following you!</Text>
      <Text>Timestamp: {notification.timestamp}</Text>
    </View>
  );
};

问题是,每个通知都向服务器发出请求,以获取特定用户的联机状态。我现在正在我的服务器上测试它,我的代码正常工作,但问题是:如果我有数百个通知怎么办?我在平面列表中显示通知(据我所知,平面列表不会一次呈现所有项目),因此axios请求是分散的,但即便如此。
对服务器执行请求的适当数量是多少?是否可以分别处理每个请求,或者我应该合并它们(以及如何合并它们)?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题