firebase云函数如何调用清理函数

firebase云函数如何调用清理函数,firebase,google-cloud-functions,Firebase,Google Cloud Functions,我在db中有超过10k的通知令牌,我想发送如下数据消息: const promises = []; l = niz.length; for (i = 0; i < l; i++) { promises.push(admin.messaging().sendToDevice(niz[i], payload, options)); } return Promise.all(promises); const promises=

我在db中有超过10k的通知令牌,我想发送如下数据消息:

const promises = [];

      l = niz.length;
      for (i = 0; i < l; i++) {
        promises.push(admin.messaging().sendToDevice(niz[i], payload, options));
      }

      return Promise.all(promises);
const promises=[];
l=niz.长度;
对于(i=0;i

在niz中,我有长度为999的令牌数组。如何从这段代码中调用cleanup函数,这将删除无效的令牌。我需要响应和niz[I]发送到清理功能。但我不知道如何发送,因为我发送的承诺不止一条…

您可以检查每条消息是否有错误

const promises=[];
l=niz.长度;
对于(i=0;i{
//对于每条消息,检查是否有错误。
常量tokensToRemove=[];
response.results.forEach((结果,索引)=>{
常量错误=result.error;
如果(错误){
console.error('Failure sending notification to',tokens[index],error);
//清理不再注册的令牌。
if(error.code==='消息传递/无效注册令牌'||
error.code===“未注册消息传递/注册令牌”){
//移除令牌:令牌[索引]
}
}
});
归还承诺。全部(tokensToRemove);
});

您可以在

中找到完整的解决方案。我在日志中得到此错误:TypeError:无法在进程中读取未定义的at Promise.all.then(/user\u code/index.js:158:29)的属性“forEach”。\u tickDomainCallback(internal/process/next\u tick.js:135:7)