如何在 FB API 中延迟 API 调用

How to delay api calls in fb api

本文关键字:API 调用 延迟 FB      更新时间:2023-09-26

当有人单击按钮时,我同时使用 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 参数设置为零。

顺便说一句,根据平台策略,不允许预填充消息。用户必须自己编写每条消息。