I need to execute a function LoginUser after the RegisterUser function has finished.
The issue is that both functions rely on internal asynchronous calls.
I have tried this, but LoginUser function doesn't seem to wait for RegisterUser to finish.
Do you know how I can solve this?
var registerUser = new Promise(
function(resolve, reject) {
doDometing ...
var registerUserSuccess = function() {
doDometing ...
resolve("value 1");
};
var registerUserFailure = function(errors) {
doDometing ...
resolve("value 2");
};
externalCall1().then(registerUserSuccess,registerUserFailure);
}
);
var loginUser = new Promise(
function(resolve, reject) {
// doSomething ...
var loginUserSuccess = function() {
doDometing ...
resolve("value 3");
};
var loginUserFailure = function(errors) {
doDometing ...
resolve("value 4");
};
externalCall2().then(loginUserSuccess,loginUserFailure);
}
);
registerUser.then(loginUser);
You should call loginUser in the "RegisterUserSuccess" function.
RegisterUserSuccess is called when the asynchronous call is finished.
var registerUserSuccess = function() {
// doSomething...
loginUser(); // your function call for login user goes here
resolve("value 1");
};
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.