Sam*_*aid 17 python flask google-chrome-devtools angularjs flask-restful
我正在构建一个前端,正在访问一个flask/python RESTful API.我正在使用AngularJS v1.2.16.
出于某种原因,在加载REST资源之前需要花费大量时间,大部分时间都在等待.我的理解是"等待"是衡量第一个字节的时间 - 我的所有服务都在本地运行(前端,API和数据库).

鉴于服务全部在本地运行,我不知道如何调试它.有没有人有关于在哪里看的提示?我检查了所有方法,它们运行得非常快(每个REST调用不到100毫秒).当我使用邮递员时,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');
});
}]);
Run Code Online (Sandbox Code Playgroud)
编辑:
dd.*_*dd. 22
我们遇到了同样的问题,经过一些研究后,问题与Chrome使用连接的方式以及烧瓶的默认配置为单线程有关.
在启动flask应用程序时添加了threads = true解决了问题:
app.run(threaded=True)
Run Code Online (Sandbox Code Playgroud)
jho*_*rey 13
我遇到了同样的问题(在Chrome和Flask后端运行的Angular前端).在尝试了Angular 1.2.x和1.3.x以及其他十亿个排列之后,我发现的唯一"解决方案"是使用Tornado Web服务器运行Flask后端(http://www.tornadoweb.org/en)/stable /).其他WSGI容器可能有效,但这是我测试的容器.
在Flask应用程序中,粘贴以下内容:
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
if __name__ == '__main__':
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)
IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
您可以键入以下命令启动Web服务器:
python myserver.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10231 次 |
| 最近记录: |