То, что я делаю:
getSecroleByOrgNID(orgList[i-2],cu.currentUser.getProfileObj());
System.out.println("Value of sec role is "+ secondryRole);
, где функция getSecroleByOrgNID
:
private String getSecroleByOrgNID(COrganization srOrg, CProfile srUser) {
analyticsSrvc.getSecroleByOrgNID(srOrg, srUser,
new AsyncCallback<String>() {
@Override
public void onFailure(Throwable caught) {
}
@Override
public void onSuccess(String result) {
secondryRole = result;
System.out.println("Assigned role is " + secondryRole);
}
});
return null;
}
, где secondryRole равно
String secondryRole = " ";
Выходis:
Value of sec role is
Assigned role is Admin
Запрос, почему оператор "value of sec role is "
печатает перед "Assigned role is Admin"
, так как функция вызывается перед оператором print "value of sec role is "
.И почему значение secondryRole остается "", даже если его значение переназначено внутри функции?