$ scope在异步调用第三方API后不应用更改

时间:2016-10-10 11:37:01

标签: javascript angularjs node.js asynchronous

我正在对语音识别API进行异步调用并尝试将结果存储在$ scope变量中,但视图不会更改,即使结果显示在{{1}中} 正好。我尝试使用这些主题中建议的console.log$scope.$apply() - thisthis,但遗憾的是没有效果

这是控制器的样子:

$scope.applyAsync();

我不认为标记是相关的,但无论如何它都在这里:

myApp.controller('audiotest', function($scope)
                    {
    $scope.recognize = function(){
        speech.main('test.wav', function(err, res){
        $scope.myResult = res.results[0].alternatives[0].transcript;
        console.log($scope.myResult); // <- this logs correctly
        $scope.$applyAsync(); // also tried with $scope.$apply();
        });
    };
 };

提前感谢任何意见或建议。

1 个答案:

答案 0 :(得分:0)

不确定,但在声明识别功能之前尝试初始化范围内的myResult。