Call from the onSuccess() method of the RPC after you have set the userInfo object.
On Monday, December 12, 2016 at 4:34:22 PM UTC-5, Olar Andrei wrote:
-- Widget mainMenu = createMenu();
initWidget(mainMenu);
Something like:
rpcService.getUserInfo(username, new AsyncCallback<UserInfo>() {
@Override
public void onSuccess(UserInfo result) {
UserPanel.userInfo = result;
Widget mainMenu = createMenu();
initWidget(mainMenu);
}
@Override
public void onFailure(Throwable caught) {
// Window.alert(caught.getMessage());
}
});
Remember, GWT RPC is asynchronous, so you have to always make sure you execute dependent code blocks in sequence.
On Monday, December 12, 2016 at 4:34:22 PM UTC-5, Olar Andrei wrote:
Hello,I'm creating a menu, and I basically need my UserInfo object already set (based on the username) before creating the menu and doing the initWidget().Basically I have the username, and based on this, I query the DB and get everything else based on that username.But I am using an RPC call for the backend part. How can I make sure that userInfo is set before proceeding to the createMenu() and initWidget() part ?
private static UserInfo userInfo;public UserPanel() {
container = new MaterialContainer();container.setFontSize("1em");setUserInfo("someUsername");Widget mainMenu = createMenu();
initWidget(mainMenu);}public void setUserInfo(String username) {DBGetUserInfoAsync rpcService = (DBGetUserInfoAsync) GWT.create(DBGetUserInfo.class); ServiceDefTarget target = (ServiceDefTarget) rpcService;String moduleRelativeURL = GWT.getModuleBaseURL() + "DBGetUserInfoImpl";target.setServiceEntryPoint(moduleRelativeURL); rpcService.getUserInfo(username, new AsyncCallback<UserInfo>() { @Overridepublic void onSuccess(UserInfo result) {UserPanel.userInfo = result;}@Overridepublic void onFailure(Throwable caught) {// Window.alert(caught.getMessage()); }});}
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment