gpt4 book ai didi

javascript - 在 Javascript 中继续之前如何等待多个 facebook graph api 调用?

转载 作者:行者123 更新时间:2023-11-28 08:49:36 25 4
gpt4 key购买 nike

我会以我对 Javascript 比较陌生的事实作为序言来质疑这个问题,尽管我已经做了研究,但回调的概念仍然很模糊。我想做的是从 FB 获取所有签到信息,然后将其发送到谷歌地图,在那里可以绘制所有信息。我很难理解如何使用回调来等待我拥有的 3 个 facebook graph api 调用。

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);

我知道在 facebook api 调用完成检索数据后会调用 passToMap 回调。但如何确定所有这些调用何时完成?我需要确定这一点,以便知道何时可以安全地开始渲染所有点。谢谢

最佳答案

您可以将每个数据片段保存在一个变量中,以便您知道这三个调用是否已解决。

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 调用包装在一个外观中,该外观返回您可以链接的 promise 。

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

关于javascript - 在 Javascript 中继续之前如何等待多个 facebook graph api 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19325953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com