如何在 FB API 中延迟 API 调用
How to delay api calls in fb api
当有人单击按钮时,我同时使用 for 循环发出 2 个请求。然后我在他们的个人资料中发布一条消息;假设消息如下:
var my_array=["Hi i am jason", "I am feeling great today"];
上面是数组,然后我使用 for 循环更新状态,所以首先它循环访问第一条消息,然后循环第二条消息。
当我提出此请求时,这 2 条消息会同时在其个人资料上更新(可能会延迟一些毫秒)。我想要的是这 2 条消息之间的 2s 延迟(间接我想要 for 循环索引之间的延迟)。
因此,当我单击该按钮时,第一条消息应立即更新,第二条消息应在 2 秒后更新。
我怎样才能做到这一点?
您可以使用 setTimeout: 在 JavaScript 中创建延迟:https://developer.mozilla.org/de/docs/Web/API/WindowTimers/setTimeout
例如:
window.setTimeout(function() {
//do your second API call
}, 2000); //2 seconds delay
解决此问题的一种方法(未经测试,但您应该明白这一点):
var currentMessageId = 0;
function doAPICall() {
//do API call with my_array[currentMessageId]
currentMessageId++;
if (currentMessageId < my_array.length) {
window.setTimeout(doAPICall, 2000); //2 seconds delay
} else {
//done
}
}
您还可以将整个代码封装在一个函数中,以便可以在单击按钮时调用它。或者只需在else
块中将当前消息 ID 参数设置为零。
顺便说一句,根据平台策略,不允许预填充消息。用户必须自己编写每条消息。
相关文章:
- 如何在 API 调用后和 if 语句中启用提交按钮
- NodeJS API调用中Array中的Push和Pull元素
- 在Chrome扩展内部输出Google API调用
- IE11中的第二个调用取消了第一个Fetch API调用
- RxjsObservable:通过一个API调用订阅不同的值
- 通过API调用过滤数据
- 给出<选项>标记一个类?API调用不工作
- 使用Angular获取数据API调用时出错
- javascript API调用导致旧数据
- 在一个服务中引用多个API调用(Angular)
- 背景:'userId'在SignUp API调用后为null
- 对/Token的ASP Web API调用间歇性
- Web API 调用在设备模式下失败
- 将使用 $.ajax() 和 JSONP 的 API 调用替换为服务器到服务器的 API 调用
- 如何将 JavaScript Yahoo Weather API 调用属性替换为变量
- 谷歌日历 api 调用可以在角度工厂内返回承诺吗?
- 仅显示 Google 表格中来自 api 调用的最新数据行
- 我的 API 调用没有返回任何内容
- 如何通过声云 api 调用获取用户 ID
- 在 api 调用$resource显示错误和成功消息