私はコントローラと工場を持っています。ファクトリ(searchFactory)内の関数(myfunc)は、ボタンのng-clickによって呼び出されます。その後、私は関数の外にある関数(waitfunction)を呼び出します。その機能では、2秒のタイムアウトが使用され、値が変更されてコントローラに返されます。 2秒後に値がコントローラーで更新されることを確認するにはどうすればよいですか? JSfiddle:http://jsfiddle.net/zohairzohair4/cRr9K/1334/angularjs:変数の値を更新する外部タイムアウト関数呼び出し後
var search_name
var angularjsapp = angular.module('graphApp', ['ngAnimate', 'ui.bootstrap']);
angularjsapp.factory('searchFactory', function() {
//return $resource('friends.json');
return{
myfunc:function(search_name){
console.log('ok')
keyword_type = 1
loading_value = waitfunction(search_name)
console.log(loading_value)
return loading_value
}
}
});
angularjsapp.controller('AccordionDemoCtrl', function($scope,searchFactory) {
$scope.count = 0;
$scope.namesPerPage = 10
$scope.currentPage = 1;
$scope.searchFactory = searchFactory.myfunc
});
function waitfunction(search_name){
value = 0
window.setTimeout(function() {
value = 1;
}, 2000);
return value
};
これはダンプみたいですねhttp://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – elclanrs