首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Javascript中继续之前,如何等待多个facebook图形api调用?

在Javascript中继续之前,如何等待多个facebook图形api调用?
EN

Stack Overflow用户
提问于 2013-10-12 03:38:59
回答 1查看 280关注 0票数 1

我会先问这个问题,因为我是Javascript的新手,尽管我已经做了很多研究,但回调的概念是模糊的。我想做的是从FB获取所有签到信息,然后将其发送到google地图,在那里可以绘制所有信息。我很难理解如何使用回调来等待我拥有的3个facebook图形api调用。

代码语言:javascript
复制
FB.api("me/checkins?fields=place.fields(location,name)&limit=1000", this.passToMap);
FB.api(me/photos?fields=place.fields(location,name)&limit=1000", this.passToMap);
FB.api("me/statuses?fields=place.fields(location,name)&limit=1000", this.passToMap);

我知道passToMap回调是在facebook api调用完成检索数据之后调用的。但是,我如何确定所有这些调用何时结束?我需要确定这一点,这样我才能知道何时开始渲染所有点是安全的。谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-10-12 03:48:38

您可以将每个数据片段保存在一个变量中,这样一旦解决了这三个调用,您就知道了。

代码语言:javascript
复制
var store = {};

// Implement something similar for each api call
function checkinCb( data ) {
    store.checkins = data;
    this.passToMap( store );
}

// Example flow, update accordingly
function passToMap( data ) {
    // If data is incomplete wait
    if ( !data.checkins || !data.photos || !data.statuses ) return;
}

为了使它更简洁,您还可以将FB.api调用包装在一个外观中,这个外观返回您可以链接的承诺。

在所有情况下,尝试谷歌JavaScript异步流量控制,它应该会提出人们用来管理异步性的多种解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19325953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档