我需要在RegisterUser函数完成后执行一个函数LoginUser。
问题是两个函数都依赖于内部异步调用。
我试过这个,但LoginUser函数似乎还没有等到RegisterUser完成。
你知道我怎么解决这个问题吗?
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);
答案 0 :(得分:0)
您应该在" RegisterUserSuccess"中调用loginUser。功能
异步调用完成后调用RegisterUserSuccess。
var registerUserSuccess = function() {
// doSomething...
loginUser(); // your function call for login user goes here
resolve("value 1");
};