Ajax 使用Yammer API问题删除-“;由于请求过多而限制费率;

Ajax 使用Yammer API问题删除-“;由于请求过多而限制费率;,ajax,sharepoint-online,office365api,yammer,restapi,Ajax,Sharepoint Online,Office365api,Yammer,Restapi,删除一条评论时,我可以背靠背删除两条评论,但当我试图删除下一条评论(第三条评论)时。它在控制台中显示错误“由于请求过多而限制了速率。”但当我尝试删除时,几秒钟后,对于接下来的两条注释,它可以正常工作。我已经尝试使用“等待”功能几秒钟使其工作,但结果不一致。有时有效,有时无效。 我的代码如下: function deleteComment(MessagePostId) { var result = confirm("Are you sure you want to delete this

删除一条评论时,我可以背靠背删除两条评论,但当我试图删除下一条评论(第三条评论)时。它在控制台中显示错误“由于请求过多而限制了速率。”但当我尝试删除时,几秒钟后,对于接下来的两条注释,它可以正常工作。我已经尝试使用“等待”功能几秒钟使其工作,但结果不一致。有时有效,有时无效。 我的代码如下:

function deleteComment(MessagePostId) {
    var result = confirm("Are you sure you want to delete this Comment?");
    if (result) {
        yam.platform.request({
            url: "https://api.yammer.com/api/v1/messages/" + MessagePostId,
            method: "DELETE",
            async: false,
            beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', token) },
            success: function (res) {
                alert("The Comment has been deleted.");
                //Code to remove item from array and display rest of the comment to screen
            },
            error: function (res) {
                alert("Please try again after some time.");
            }
        })
    }
}
您正在点击该按钮,以防止来自常规用户的多个删除请求,就像您点击的那样。该API是为客户机应用程序设计的,在这些应用程序中,您可能会偶尔进行删除,但不会批量删除


要处理速率限制,您需要更新代码以检查
res
变量中的响应值。如果是HTTP 429响应,那么您将受到速率限制,需要等待,然后再重试原始请求。

谢谢@BrianLyttle。。!!这似乎是合理的。