Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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 安格拉斯在弗雷奇的承诺_Javascript_Angularjs_Angular Promise - Fatal编程技术网

Javascript 安格拉斯在弗雷奇的承诺

Javascript 安格拉斯在弗雷奇的承诺,javascript,angularjs,angular-promise,Javascript,Angularjs,Angular Promise,我有从服务器获取数据的方法。 我在foreach中使用它,之后需要将它绑定到$scope变量。 像这样: var qualityMix = []; var engagementMix = []; angular.forEach(versions, function (versions) { qualityMix.push(qualityScoreByTimeWithAppVerPromise(versions.version)); engagementMix.push(engag

我有从服务器获取数据的方法。 我在foreach中使用它,之后需要将它绑定到$scope变量。 像这样:

var qualityMix = [];
var engagementMix = [];
angular.forEach(versions, function (versions) {
    qualityMix.push(qualityScoreByTimeWithAppVerPromise(versions.version));
    engagementMix.push(engagementByTimeWithAppVerPromise(versions.version));
});

$scope.qualityScoreByTimeMix = function () {
    return $timeout(function () {
        return $q.all(qualityMix).then(function (data) {
            return {series: data};
        });
    });
};

$scope.engagementTimeMix = function () {
    return $q.all(engagementMix).then(function (data) {
        return {series: data};
    });
};
qualityScoreByTimeWithAppVerPromiseengagementByTimeWithAppVerPromise这是用于从服务器获取数据的函数。然后,$scope.engagementTimeMix$scope.qualityScoreByTimeMix需要有承诺的返回函数(可以)

这段代码工作正常,但并不总是如此,有时我捕获异常$scope.xxx不是函数

我不知道怎么修理它。请帮帮我。非常感谢

UPD 这是构建图表的代码

<div class="section">
    <highchart id="mix_quality_score_by_time" type="area" data="qualityScoreByTimeMix"
               chart-style="qualityScoreMixChartStyle"></highchart>
</div>

我在另一页中调用的指令如下:

<compare-versions id="compare_versions_panel" start-day="timeFilter.startDay()"></compare-versions>

$scope.xxx不是一个函数 我的意思是我在chrome控制台中捕捉到的信息是什么
$scope.engagementTimeMix和$scope.qualityScoreByTimeMix它不是一个函数

您可以使用ng if并在已经有值时绘制图形
例如:



我们可以看看您的控制器以及您实际调用这些方法的位置吗?确切地说,$scope.xxx是什么?我没看到有人在这里打电话,只是为打电话做准备。我看不出您在哪里调用$scope.qualtyScoreByTimeMix(不需要$timeout)或$scope.engagementtimemix我更新了我的问题
<div class="section" ng-if="qualityScoreByTimeMix">
    <highchart id="mix_quality_score_by_time" type="area" data="qualityScoreByTimeMix" chart-style="qualityScoreMixChartStyle"></highchart>
</div>