当前位置: 首页 > 面试题库 >

从angularjs加载REST资源时的等待时间非常长

拓拔阎宝
2023-03-14
问题内容

我正在构建一个访问angular / python RESTful API的Angular前端。 我正在使用AngularJS v1.2.16。

出于某种原因,在加载REST资源之前需要花费大量的时间,而大多数时间只是在等待。据我了解,“等待”正在衡量到第一个字节的时间-
我的所有服务都在本地运行(前端,API和数据库)。

Angular,API和Mongo DB都在本地运行。

鉴于所有服务都在本地运行,我不知如何调试它。有人在哪里找什么提示吗?我检查了所有方法,它们运行得很快(每个REST调用不到100毫秒)。当我使用postman时,API几乎立即返回。

关于如何解决等待的任何想法,似​​乎只有通过angular加载RESTful资源时才是这种情况。角度$ http get请求非常简单:

myAppControllers.controller('ManageCtrl', ['$scope', '$http',
    function($scope, $http) {
        $http({
            url: 'http://127.0.0.1:5000/v1/domains/',
            method: "GET",
            headers: { 'Content-Type': 'application/json' },
        }).
        success(function(data, status, headers, config) {
            console.log('login successful');
            console.log(status);
            console.log(data);
        }).
        error(function(data, status, headers, config) {
            console.log('login failed');
        });
    }]);

编辑:

  • 该问题仅出现在Google Chrome浏览器的常规模式下。
  • 使用隐身模式时,GET请求很快。

问题答案:

我们遇到了同样的问题,经过研究后,该问题与Chrome使用连接的方式以及flask的默认配置为单线程有关。

启动Flask应用程序时添加了threaded = true解决了该问题:

app.run(threaded=True)


 类似资料:
  • 我正在拦截并从Service Worker缓存返回资源。根据谷歌Chrome开发工具,下载内容需要大约300-400毫秒。我在火狐中检查过,下载是即时的。 我预计下载时间会小得多,因为不涉及网络。我使用常用的函数截取: 我拦截并从缓存返回资源的方式是否有问题?

  • 使用Network(网络)面板评估网站的网络性能。 Network(网络)面板记录在页面上有关每个网络操作的信息,包括详细的时序数据,HTTP请求和响应头,Cookie等。 TL;DR 使用Network(网络)面板记录和分析网络活动。 以聚合(所有类型)或单个资源类型查看负载信息。 过滤和排序资源的显示方式。 保存,复制和清除网络记录。 根据您的需要自定义Network(网络)面板。 Netwo

  • Selenium C#在抛出超时异常之前等待的最大显式超时是多少? 有时我们正在测试的应用程序变得非常慢,最多需要4分钟才能加载。我想添加一个等待时间,这样它最多会等待5分钟。 我已经尝试过这个代码 但是它在2分钟左右抛出超时异常。

  • 问题内容: 我有一个用ngResource定义的工厂: 我正在对该工厂定义的查询方法进行多次调用。这些调用可以异步发生,但是我需要等待两个调用完成才能继续: 有没有办法用ngResource定义的AngularJS工厂做到这一点,类似于jQuery的$ .when()。then()功能?我不想将jQuery添加到当前项目中。 问题答案: 您将要使用promise和$ q.all()。 基本上,您可

  • 问题内容: 我想做的是推迟为指令加载角度js模板,直到我真正需要它为止。我什至根本不需要它。有没有一种方法可以只在需要时才加载指令的模板。服务会成为这样做的方式吗?我的应用程序已经加载了很多指令模板,除非我需要,否则我希望避免加载太多的东西。当前的确切问题是为登录表单加载模板。如果用户单击按钮,但他/她未登录,则我要slideOpen(使用jQuery)登录表单。 问题答案: 在绝大多数情况下,动

  • 我用绝地武士连接redis服务器。Redis ip值在一个单独的文件中配置,我试图在初始化期间加载该文件 我从redis获取多个密钥的方法如下 当我在属性文件中给出了不正确的ip值时,访问它的请求线程等待了很长一段时间。我的请求不应该因为池中资源不可用而停止。 在这里,我附加了停顿线程的线程转储(即;处于等待状态的线程) 我怎样才能做到这一点?非常感谢您的帮助。提前感谢:-)