函数返回异步响应
Function return async response
就像一个人在这里问的那样(但他关于调用 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个人进行一英里跑步比赛,他们现在开始,一分钟后结束+-,但你现在想知道答案,除非你作弊,否则这是不可能的......
相关文章:
- 如何从SeleniumWebdriver获取异步Javascript响应
- 使用来自不同异步函数的响应创建一个json对象
- 节点.js和表达式:如何在异步操作后返回响应
- 异步表单w/Iframe Target——OnLoad适用于FF、Chrome、IE9,不适用于;无法在IE7中得到响应
- Node.JS-如何识别哪个异步HTTPGET响应在回调中返回数据
- 接收json异步响应的最有效方式
- 如何使用 ajax 或 jquery 读取异步 HTTP (servlet3.0) 响应
- 如何将异步 ajax 响应捕获到变量中
- 函数返回异步响应
- 如何从 angularjs 服务中的异步调用返回响应
- JQuery/Ajax:如何将多个 ajaxes 组合成一个具有响应的异步 ajax
- 节点.js使用异步数据进行响应
- 等待来自异步,量角器,nodejs的响应
- 来自 Azure 的插入异步响应
- 如何处理对循环中发出的多个异步请求(AJAX 调用)的响应
- 节点JS-异步-响应是在执行查询时发送的
- 如何通过异步xmlhttprequest响应设置变量
- 如何在调用异步Web服务响应时将值设置为数组
- 异步序列的响应为false,而它应该为true
- 聚合铁ajax和异步请求(etag同步和响应处理)