$timeout AngularJS 应用程序中未定义的错误

$timeout not defined error in AngularJS app

本文关键字:未定义 错误 应用程序 timeout AngularJS      更新时间:2023-09-26

我有以下代码:

app.factory('Position', ['$timeout', function() {
    var position = {
        latitude: 44,
        longitude: 26
    };
    console.log("Timeout started");
    $timeout(function() {
        position.latitude += 15;
        position.longitude += 15;
    }, 2000);
    return position;
}]);

我在Javascript控制台中得到了$timeout not defined。我没有正确注入服务的依赖关系吗?

您没有注入$timeout.它应该如下。

app.factory('Position', ['$timeout', function($timeout) {
    ...
}]);

这种方式的声明可确保在 JavaScript 代码被缩小时正确识别服务。有关这如何帮助缩小的更多信息,请参阅关于缩小和声明用于缩小的 AngularJS 模块的说明

如果您的计划中没有缩小(例如快速测试),您可以简单地使用

app.factory('Position', function($timeout) {
    ...
});