Мне нужно сделать функцию submitAdapterAuthentication()
для работы первой функции getUserRoles()
, но с текущей реализацией функции getUserRoles()
выполняется вначале, что submitAdapterAuthentication()
. Как я могу это исправить?Функция вызова функции
checkOnline().then(function(onl) {
userObj.isLoginOnline = onl;
}).then(function() {
submitAdapterAuthentication(user, pass);
}).then(function() {
getUserRoles();
});
function submitAdapterAuthentication(user, pass) {
var invocationData = {
parameters : [ user, pass ],
adapter : "adapterAuth",
procedure : "submitLogin"
};
ch.submitAdapterAuthentication(invocationData, {
onFailure : function(error) {
WL.Logger.log("ERROR ON FAIL: ", error);
},
onSuccess : function() {
WL.Client.updateUserInfo({
onSuccess : function() {
//return promise
WL.Client.updateUserInfo({
onSuccess : function() {
}
});
}
});
}
});
}
// my function to obtain roles
// It should be performed after submitAdapterAuthentication
function getUserRoles(){
var arrayRoles = [];
var attributes = WL.Client.getUserInfo(realm, "attributes");
if(attributes){
if(attributes.roles){
arrayRoles.push(attributes.roles);
}
}
}
Я пытаюсь, но «атрибуты» в getUserRoles() возвращают только {}, как если бы submitAdapterAuthentication не было. Мой submitAdapterAuthentication http://stackoverflow.com/questions/28690354/submitadapterauthentication-not-working –
Пабло, я вижу, что вы приняли ответ, значит ли это, что вы его заработали? Если у вас все еще есть проблемы, дайте мне знать, и я попытаюсь посмотреть на это немного глубже позже этим вечером. –