是否可以在javascript中为端点响应创建变量?

问题描述 投票:0回答:1

我有一个功能,根据所按下的按钮,它会击中另一个端点。但是,这些端点将具有相同的响应,并返回相似的数据。有没有一种方法可以让事情保持干态,而不是将响应复制并粘贴到其他地方?以下功能供参考。

    $scope.getModelRunJson = function (xOrY) {
        if(xOrY) {
            Runs.getData({id: $scope.runId}).then(
               function (response) {
                    $scope.runData = response.data.data[0].runData;
                    console.log($scope.modelRunData);

                    let blob = new Blob([$scope.runData], {type: 'json'});
                    let downloadLink = angular.element('<a></a>');
                    downloadLink.attr('href', window.URL.createObjectURL(blob));
                    downloadLink.attr('download', 'modelRun.json');
                    downloadLink[0].click();
                }
            )
        }
        else {
            Audit.getData({id: $scope.runId}).then(
                function (response) {
                    $scope.runData = response.data.data[0].runData;
                    console.log($scope.runData);

                    let blob = new Blob([$scope.runData], {type: 'json'});
                    let downloadLink = angular.element('<a></a>');
                    downloadLink.attr('href', window.URL.createObjectURL(blob));
                    downloadLink.attr('download', 'modelRun.json');
                    downloadLink[0].click();
                }
            )
        }
    };
javascript callback
1个回答
0
投票

这样的事情。 RunsAudit都实现getData

$scope.getModelRunJson = function(xOrY) {
  const xy = (xOrY) ? Runs : Audit;
  xy.getData({
    id: $scope.runId
  }).then(
    function(response) {
      $scope.runData = response.data.data[0].runData;
      console.log($scope.modelRunData);

      let blob = new Blob([$scope.runData], {
        type: 'json'
      });
      let downloadLink = angular.element('<a></a>');
      downloadLink.attr('href', window.URL.createObjectURL(blob));
      downloadLink.attr('download', 'modelRun.json');
      downloadLink[0].click();
    }
  )

};
© www.soinside.com 2019 - 2024. All rights reserved.