如何使用javascript异步调用自定义函数?

如何使用javascript异步调用自定义函数?,javascript,angular,oojs,Javascript,Angular,Oojs,我在应用程序中使用了一个angular第三方模块。该模块提供了一些回调方法,如登录成功、失败等,我正在回调方法中执行自定义脚本 但是这里的问题是我想要异步执行我的自定义脚本,这意味着回调不应该等到自定义脚本执行之后。现在,如果脚本中有任何问题,他们的回调将不会完成,整个脚本将因此受到影响。所以我想从第三方的回调事件异步调用我的自定义方法 我使用下面的示例尝试了所有可能的方法,但没有任何效果。我也用过承诺,但不起作用 EV.Event.on('login.success', function (r

我在应用程序中使用了一个angular第三方模块。该模块提供了一些回调方法,如登录成功、失败等,我正在回调方法中执行自定义脚本

但是这里的问题是我想要异步执行我的自定义脚本,这意味着回调不应该等到自定义脚本执行之后。现在,如果脚本中有任何问题,他们的回调将不会完成,整个脚本将因此受到影响。所以我想从第三方的回调事件异步调用我的自定义方法

我使用下面的示例尝试了所有可能的方法,但没有任何效果。我也用过承诺,但不起作用

EV.Event.on('login.success', function (res) { //third party's callback
    try {
        custCallbackLoginSuccess(res); //my custom method
    } catch(Error) {
        console.log("error"+Error);
    }
});

async function custCallbackLoginSuccess(res) {
    var success = test; //here test is undefied. so 'login.success' -should not wait untill this execution completes. It should complete without any error
}

由于
custcallbackloginsaccess
是一个异步函数,因此您在
login.success中的try-catch不会捕获任何错误

您必须这样编写代码:

EV.Event.on('login.success',函数(res){//第三方的回调
custcallbackloginsucess(res);//您的自定义方法
});
异步CustCallbackLoginsAccess(res){
试一试{
var成功=测试;
}捕获(错误){
console.log(“错误”+错误);
//如果不想打扰来电者,请不要在此处抛出任何错误
}
}

如果您需要
login.success
中的
custcallbackloginsucess
的结果,您别无选择,只能等待收到结果。

谢谢您的回答。我尝试了上述操作,但仍然没有完成“login.success”。它正在抛出错误你能给我错误调用堆栈吗?也许可以上传到某个地方