如果用户在路由器中进行身份验证,如何异步检查canActivate angular in angular 2?

时间:2016-07-03 06:16:30

标签: angular angular2-routing

我想检查用户是否在角度2路由器中验证了canActivate guard。实际上,身份验证检查不是异步的,只是检查if this.user。但在此检查之前(只有一次,当用户打开网站时)应用程序应该从服务器使用http.get()获取用户的数据。 所以,我想返回仅在用户从服务器收到数据时检查Observable<boolean>的{​​{1}}对象。

我试过了:

if this.user

1 个答案:

答案 0 :(得分:4)

您可以使用fromPromise功能。

$urlLength = 23; // http://www.someurl.com/ have 23 characters
$urlText =  "http://www.someurl.com/"; // What is the text you want to validate?
if (substr($string, 0, $urlLength) == $urlText) {
    echo "Valid.";
}
else {
    echo "Not valid.";
}