首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >chrome.cookies.getAll并删除所有cookies,然后等待完成

问chrome.cookies.getAll并删除所有cookies,然后等待完成
EN

Stack Overflow用户
提问于 2019-10-03 05:31:23
回答 1查看 213关注 0票数 0

我不清楚chrome.cookies接口。我想为3个不同的域getAll饼干,然后删除那些,等待这个过程完成,然后我想设置一些饼干。

如果我理解cookies chrome.cookies.getAll不返回promise,那么只有我可以定义一个回调。现在我很清楚,我可以为所有三个getAll cookies命令编写回调,但是在那里我再次删除了几个cookies,这个过程是异步进行的。所以我完全迷失在我如何识别时,3个域名的所有cookie已被完全删除。

我可以想到的一种选择是,我提前运行3次cookie.getAlls并计算cookies的数量,然后在每次删除时增加一个计数器,并在remove的回调中检查是否达到了总数。这看起来很奇怪,所以我不能相信这是正确的方法。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-10-18 01:18:30

我不认为它是优化的,但这是一个快速的答案。

​

代码语言:javascript
复制
function RemoveCookies(cookies, domain){
   for(var i=0; i<cookies.length;i++) {
        chrome.cookies.remove({url: 'https://'domain + cookies[i].path, name:cookies[i].name});
      }
}

function RemoveDomain1(callback, ...params){
  chrome.cookies.getAll({domain: domain1}, function(cookies) {
     RemoveCookies(cookies, domain1);
     callback(params)
		
	});
}
function RemoveDomain2(callback, ...params){
  chrome.cookies.getAll({domain: domain2}, function(cookies) {
     RemoveCookies(cookies, domain2);
     callback(params)
		
	});
}
function RemoveDomain3(callback, ...params){
  chrome.cookies.getAll({domain: domain3}, function(cookies) {
     RemoveCookies(cookies, domain3);
     callback()
		
	});
}

RemoveDomain1(RemoveDomain2, RemoveDomain3, DoSomthingAfterAll)

​

check this link too maybe it help

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58209642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档