Angularjs.then函数创建一个var以传递到外部.then

Angularjs .then function creating a var to pass outside .then

本文关键字:then var 外部 一个 创建 函数 Angularjs      更新时间:2023-09-26

有没有办法从.then promise的结果中获取数据?

我知道我发布的是错误的,有办法吗?

这个指令用于检查数据库中是否存在用户,我在checkusername.php中弥补了错误,当它找到它时发送type=1,如果没有,它将返回2。我想做的是显示一个404页面或实际的配置文件页面(如果找到的话)。这基本上就是我试图在该函数中完成的,只是查找用户是否存在,并显示配置文件页面或404,然后将var发送到"templateUrl"以将模板放置在配置文件页面中。有更好的方法吗?

app.directive('profileDirective',function($http, $stateParams){
	var promise=$http.post('../../api/functions/check_username.php', JSON.stringify($stateParams.u) );
				
		promise.then(function(msg){
			if(msg.data.type=='2'){
				results = 'responses/404.php';
			}
			else if (msg.data.type=='1') {
				results = 'partials/profile/tpl/profile.head.tpl.php?u=' + $stateParams.u;
			}
		});
	console.log(results);
});

非常感谢,谢谢

正如有人已经说过的,您只需要在指令的范围内创建一个变量。

app.directive('profileDirective',function($http, $stateParams){
    var result;
	var promise=$http.post('../../api/functions/check_username.php', JSON.stringify($stateParams.u) );
				
		promise.then(function(msg){
			if(msg.data.type=='2'){
				result= 'responses/404.php';
			}
			else if (msg.data.type=='1') {
				result= 'partials/profile/tpl/profile.head.tpl.php?u=' + $stateParams.u;
			}
		});
	console.log(result);
});