gpt4 book ai didi

javascript - then()返回值,仍然出现返回错误

转载 作者:行者123 更新时间:2023-12-03 02:35:09 24 4
gpt4 key购买 nike

我遇到了一个小问题,错误日志显示

21:10  warning  Avoid nesting promises                      promise/no-nesting
36:12 warning Avoid nesting promises promise/no-nesting
36:66 error Each then() should return a value or throw promise/always-return

它所讨论的错误位于底部

 return admin.messaging().sendToDevice(token_id,payload).then(theResult =>{
console.log("then is returned");
});

尽管消息非常简单并且调试应该不会有太大问题(即使对于像我这样的新手),我也无法真正解决它,我尝试删除这个函数,但仍然存在部署没有成功。我寻找了一些类似的问题,但除了失败之外什么也没有。我将非常感谢任何帮助,谢谢。

exports.sendNotification = functions.firestore.document("Users/{user_id}/Notifications/{notification_id}").onWrite(event=>
{
const user_id = event.params.user_id;
const notification_id = event.params.notification_id;
//console.log("User ID:" + user_id + "Notification ID : "+ notification_id);

return admin.firestore().collection("Users").doc(user_id).collection("Notifications").doc(notification_id).get().then(queryResult =>
{

const from_user_id = queryResult.data().from;
const from_message = queryResult.data().message;

const from_data = admin.firestore().collection("Users").doc(from_user_id).get();
const to_data = admin.firestore().collection("Users").doc(user_id).get();

return Promise.all([from_data,to_data]).then(result=>
{

const from_name = result[0].data().name;
const to_name = result[1].data().name;
const token_id = result[1].data().token_id;

const payload = {
notification: {
title : "Nowa wiadomość od:" + from_name,
body : from_message,
icon : "default"
}
};

return admin.messaging().sendToDevice(token_id,payload).then(theResult =>{
console.log("then is returned");
});
});


});

});

最佳答案

您可以更新 .then() block ,如下所示:

.then(theResult => console.log("then is returned"));
  • always-return:每个 then() 内需要一个 return,以便创建可读且可重用的 Promise 链。

关于javascript - then()返回值,仍然出现返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48565842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com