等待异步JavaScript函数返回 [英] wait for async javascript function to return

查看:624
本文介绍了等待异步JavaScript函数返回的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用第三方库提供的功能。这个函数有一个回调函数作为参数,但我想等待此回调继续之前调用。有没有一个标准/接受的方式做到这一点?

I am using a function supplied by a third party library. This function takes a callback function as a parameter, but I would like to wait for this callback to be called before continuing. Is there a standard / accepted way to do this?

推荐答案

我不知道这对你是一个可能的解决方案,但你可以通过实现你的破code到2功能所需的结果。
假设这是你打算做什么:

I am not sure if this is a possible solution for you but you can achieve the desired result by breaking your code into 2 functions. Suppose this is what you intend to do:

基本上,这是你原来的功能:

Basically this is your original function:

function origFunc() {

    codeBeforeThirdPartyFunc();
    ThirdPartyFunc(oldCallBackFunc);
    Wait();
    codeAfterCallBackFunc();
}

您可以像修改code流量:

You can modify the code flow with something like:

function newFunc() {
    codeBeforeThirdPartyFunc();
    ThirdPartyFunc(newCallBackFunc);
}
function newCallBackFunc() {
  oldCallBackFunc();
  codeAfterCallBackFunc();
}

这将消除等待循环。而据我所知,忙等待并不在IE浏览器(因为?只有上帝知道)。

This will eliminate the wait loop. And as far as I know, busy waiting doesn't work in IE (because ? God only knows)..

这篇关于等待异步JavaScript函数返回的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆