Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干网-如何限制每秒的ajax请求或创建队列?_Javascript_Backbone.js - Fatal编程技术网

Javascript 主干网-如何限制每秒的ajax请求或创建队列?

Javascript 主干网-如何限制每秒的ajax请求或创建队列?,javascript,backbone.js,Javascript,Backbone.js,在我的例子中,我加载一个包含两个请求的集合 抓住我 交朋友 每个人都会发出另一个请求以获取模型中的照片 1请求 10个请求(每个朋友一个) 底线是我有13个请求。但服务器每秒只能处理3个请求。我该怎么办 UPD 远程服务器不是我的。Mb这是错误的,但我的方式已经是: collection.add(collection.getMe())->model.init->model.getphotos-> view.render()(1次) 下一个 collection.add(collection

在我的例子中,我加载一个包含两个请求的集合

  • 抓住我
  • 交朋友
  • 每个人都会发出另一个请求以获取模型中的照片

  • 1请求
  • 10个请求(每个朋友一个)
  • 底线是我有13个请求。但服务器每秒只能处理3个请求。我该怎么办

    UPD 远程服务器不是我的。Mb这是错误的,但我的方式已经是:

    • collection.add(collection.getMe())->model.init->model.getphotos-> view.render()(1次)
    下一个

    • collection.add(collection.getFriends())->。。。下一步为每个朋友。。。model.init->model.getphotos->view.render()(10次)

    我完全没有骨气。我试着用主干风格编程。但是我无法理解如何限制ajax请求。

    我将从两个不同的层面来看待这一点,第一个是设计,第二个是性能优化

    设计:

    就我个人而言,我会通过创建一个api端点来处理这个问题,该端点在一个请求中返回所有必需的数据。这可能涉及:

  • 返回单个对象和直接依赖项(get me)的端点,然后
  • 返回特定对象的所有好友及其依赖项(获取好友+照片等)的端点
  • 性能:

    如果问题的原因是它已经很慢了,那么你可能会考虑这个设计,但是如果你只是担心它会很慢,那么我会向前移动并测量真实世界的性能。花时间优化你认为可能很慢的东西可能被证明是一个错误的策略

    每秒3个请求就足够了,这N个请求很可能会排队并连续提供服务。你可能会没事的

    如果您不满意,那么您可以根据需要(当用户交互或分页等时)更改照片的加载(或之后加载的任何内容),这将确保您使用所拉的内容,并且只拉您使用的内容


    希望这有帮助!祝你好运

    谢谢你的关注。我更新了问题文本以了解详细信息。