函数返回异步响应

Function return async response

本文关键字:响应 异步 返回 函数      更新时间:2023-09-26

就像一个人在这里问的那样(但他关于调用 nother 函数的解决方案)https://stackoverflow.com/a/10796326/315200......我想知道是否有可能有一个函数,该函数不会在异步请求响应时调用第二个函数,而只是在异步请求响应时return

像这样的东西可能是:

function callToFacebook() {
    var fbResponse;
    FB.api('/me', function (response) {
        fbResponse = response;
    });
    return fbResponse; //Will return undefined because CallToFacebook is async
}

这不可能以某种方式,而不调用另一个函数吗?

试图实现的是有一个函数,我可以使用一些参数调用,它将从异步 Web 服务(如 FB)返回响应object

简而言之,没有。不能让异步函数同步返回有意义的值,因为此时该值不存在(因为它是在后台异步构建的)。

但是,您可以返回一个 Promise 对象,表示异步操作的"潜在返回值",并使用 done() 或类似方法将函数绑定到该对象。这样,您的函数将获得返回语义(而不必将控制流链接到回调中),并保持异步。

,这是不可能的。

不能返回从异步操作返回的值。

想想看,你告诉10个人进行一英里跑步比赛,他们现在开始,一分钟后结束+-,但你现在想知道答案,除非你作弊,否则这是不可能的......