我正在开发一个chrome扩展程序,该扩展程序可以从API抓取用户的作业并将其传递到Google日历API。当前设置它只是为每个分配创建一个fetch()请求。当您尝试在非常短的时间内调用fetch()100次,200次以上时,这会产生问题。我最终不得不对每个请求之间的300ms延迟进行硬编码,以使其完成,这显然不是理想的选择。
我的目标是更改代码以实现Google的gapi库,并利用批处理功能一次处理多个请求。
如果这不可能,那么我可以使用哪些其他方法使请求更有效地发生?
这是我初始化gapi客户端的尝试:
gapi.load('client', {
callback: function () {
gapi.client.init({
'apiKey': chrome.runtime.getManifest().key,
'clientId': chrome.runtime.getManifest().oauth2.client_id,
'scope': chrome.runtime.getManifest().oauth2.scopes
}).then(function () {
gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);
updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get());
});
},
onerror: function() {
console.log("Error loading gapi client")
}
})
我得到的错误是“无效的cookie策略”。根据我的研究,它看起来像是因为希望在后端调用它?我如何在前端环境中实现gapi,我还看到一些线程暗示,由于扩展的起源是“ chrome:// extension”,因此阻止了在扩展中实例化gapi。