AngularJS设置http请求之间的延迟

AngularJS设置http请求之间的延迟,angularjs,http,Angularjs,Http,你好,我是angularjs的新手,我正在开发一个从API下载文件的应用程序。 这些文件下载到服务器,然后在客户端提供服务。它正在工作,但第二个文件未完全下载,即文件大小小于服务器上的文件大小。(该文件以前已经转换为xml,以防您对json部分产生疑问)。我的猜测是,在客户端下载的文件下载得太快的情况下,会出现时间问题吗?我想知道最好的解决方案是否是增加延迟,以便给文件下载更多的时间?但我知道的还不够多。如果有人有什么建议,我将不胜感激。多谢各位 以下是控制器中的代码: $scope.d

你好,我是angularjs的新手,我正在开发一个从API下载文件的应用程序。 这些文件下载到服务器,然后在客户端提供服务。它正在工作,但第二个文件未完全下载,即文件大小小于服务器上的文件大小。(该文件以前已经转换为xml,以防您对json部分产生疑问)。我的猜测是,在客户端下载的文件下载得太快的情况下,会出现时间问题吗?我想知道最好的解决方案是否是增加延迟,以便给文件下载更多的时间?但我知道的还不够多。如果有人有什么建议,我将不胜感激。多谢各位

以下是控制器中的代码:

    $scope.download = function() {
        // first file
        $http.get("http://localhost:3000/downloadFile")
        .then(function(results) {
        // second file
       $http.get("http://localhost:3000/downloadComplete")
         .success(function (data, status, headers, config) {
                $scope.toJSON = '';
                $scope.toJSON = angular.toJson(data);
                var blob = new Blob([data], { type:"application/json;charset=utf-8" });           
                var downloadLink = angular.element('<a></a>');
                            downloadLink.attr('href',window.URL.createObjectURL(blob));
                            downloadLink.attr('download', $scope.fileDownload);
                downloadLink[0].click();

            });

       });

};
$scope.download=function(){
//第一档
$http.get(“http://localhost:3000/downloadFile")
.然后(函数(结果){
//第二档
$http.get(“http://localhost:3000/downloadComplete")
.success(函数(数据、状态、标题、配置){
$scope.toJSON='';
$scope.toJSON=angular.toJSON(数据);
var blob=new blob([data],{type:“application/json;charset=utf-8”});
var downloadLink=angular.element(“”);
downloadLink.attr('href',window.URL.createObjectURL(blob));
downloadLink.attr('download',$scope.fileDownload);
下载链接[0]。单击();
});
});
};

是否尝试使用其他文件?我不明白你为什么为你的文件指定
.xml
,但是你的mime类型是
application/json
,我不认为这是因为延迟,可能是程序的其他部分干扰了这一点,不能在没有更多细节的情况下对其进行评论,无论如何,添加延迟并检查它。。。。。。。。语法是-->setTimeout(函数(){//do something},没有0毫秒);您好Fieldset,谢谢您的评论。是的,我已经尝试了很多文件,我已经尝试了三天来整理这个;(.我更改了mime类型,但它似乎与xml没有任何区别,因此将其保留为json。文件以正确的格式输出,只是没有完全下载…谢谢Swardfish12-这是我的第一个想法,但正如您所说,它可能会有其他干扰。我是否应该将超时放在$http.get(“)之后。然后(职能(结果){Swordfish12这是一个时间差-该文件只需要多一点时间。您尝试使用另一个文件了吗?我不明白为什么您为您的文件指定
.xml
,但您的mime类型是
application/json
,我不认为这是因为延迟,可能是程序的其他部分干扰了这一点,无法评论关于它没有更多的细节,无论如何,添加一个延迟并检查它…….语法是---->setTimeout(function(){//do something},没有\u毫秒);Hello Fieldset,谢谢你的评论。是的,我已经尝试了很多文件,我已经尝试了三天了;(.我更改了mime类型,但它似乎与xml没有任何区别,因此将其保留为json。文件以正确的格式输出,只是没有完全下载…谢谢Swardfish12-这是我的第一个想法,但正如您所说,它可能会有其他干扰。我是否应该将超时放在$http.get(“)之后。然后(函数(结果){Swordfish12这是一个时间差-文件只需要多一点时间。