我是 Angular 的新手,我正在努力了解我应该如何创建一个特定的承诺。我也在使用打字稿进行编码。
我需要调用 Web 服务来进行身份验证,这必须分两步完成。
步骤1
请求身份验证密钥
第2步
使用身份验证密钥处理登录详细信息并返回服务以检索已登录的用户或错误(如果不正确)
所以我创建了一个名为 AuthenticationService 的角度服务,如下所示(这当然不起作用)
export class Authentication
{
$inject: string[] = ['$http'];
public Authenticate( userName: string, password: string ): ng.IHttpPromise<ApiModel.ApiResult<ApiModel.AuthenticatedUser>>
{
$http.post( "/Account/AuthenticationKey", null )
.then<ApiModel.ApiResult<string>>( result =>
{
var strKey = userName + password; //TODO: Put correct code here!
var promiseToReturn = $http.post( "/Account/Authenticate", { key: strKey })
.then<ApiModel.ApiResult<ApiModel.AuthenticatedUser>>( result =>
{
return result;
});
});
}
}
如何从返回第二个结果的身份验证方法返回具有正确返回类型的承诺?