我有這樣的代碼:defer.promise打印出對象,而不是數據
app.factory('loadDependencies', function ($q, $timeout) {
return {
load: function() {
console.log("start 1");
var defer = $q.defer();
$timeout(function() {
defer.resolve({ resolve: "got dependencies" });
}, 3000);
return defer.promise;
}
}
});
但問題是,defer.promise不會等待超時結束,也只是打印出來的對象properteis和不是數據,它打印出來:
Object { then: qFactory/defer/deferred.promise.then(), catch: qFactory/defer/deferred.promise.catch(), finally: qFactory/defer/deferred.promise.finally() }
我是新來的角和試圖理解我做錯了什麼?
編輯
什麼,我試圖完成一些更多的信息。
我有一個解決方案,應該動態加載控制器和css文件。
.when('/url', {
templateUrl: 'someview',
controller: 'somecontroller',
resolve: {
load: function (loadDependencies) {
loadDependencies.load(); // here i need to know get the result of what's inside $timeout of 'load'
}
}
})
正如你可以看到我自己的例子,你正在返回一個承諾。你得到的是一個懸而未決的承諾,將在3秒後解決。 – cbass 2014-10-20 13:50:53
有沒有辦法延遲退貨,直到承諾解決? – emc 2014-10-20 13:53:02
你爲什麼。它的目的是什麼? – cbass 2014-10-20 13:53:37