问题描述
我正在尝试获取所有Onesignal标签并删除所有标签。 SDK缺少批量删除方法(即使已记录),该方法已得到团队的认可(更多信息here),建议使用deleteTag
方法并重复删除所有标签:
Onesignal.getTags((tags:ChannelsMap) => {
const promises:Promise<any>[] = [];
console.log(`Deleting ${Object.keys(tags).length} tags...`);
Object.keys(tags).forEach(tag => {
promises.push(new Promise((res,rej) => {
console.log(`Deleting ${tag} ...`);
debugger;
Onesignal.deleteTag(tag,() => {
debugger;
console.log(`Unsubscribed from ${tag}`);
res(`Unsubscribed from ${tag}`)
},() => {
debugger;
console.log(`Unable to unsubscribe from channel ${tag}.`)
rej(`Unable to unsubscribe from channel ${tag}.`)
});
}));
});
Promise.all(promises).then(() => resolve('Unsubscribed from all channels.'));
},() => reject());
但是,当我尝试该方法时,标记不会被删除,并且不会调用成功或失败回调。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)