簡體   English   中英

函數返回未定義、預期的 Promise 或價值動機

[英]Function returned undefined, expected Promise or value motivation

嗨,這個 firebase 函數曾經可以工作,但我知道它現在可以正常工作了,我收到了這個錯誤消息

函數返回未定義、預期的 Promise 或值

exports = module.exports = functions.analytics.event('first_open').onLog((event) => {
  const payload = {
    notification: {
      title: 'you have a new user \uD83D\uDE43',
      body: event.data.user.deviceInfo.mobileModelName + ' from ' + event.data.user.geoInfo.city + ', ' + event.data.user.geoInfo.country,
      sound:"default",
      vibrate:"true"
    },
  };
   admin.messaging().sendToDevice(deviceToken, payload);
});

改變這個:

   admin.messaging().sendToDevice(deviceToken, payload);

對此:

  return admin.messaging().sendToDevice(deviceToken, payload);

在 firebase 函數中,您應該返回一個 Promise 或一個值。 如果您的功能已經完成,您可以返回一個值。 如果你的工作還有正在進行的工作,你必須返回一個 Promise,一旦工作完成,它應該被解決。

在您的場景中,您有admin.messaging().sendToDevice(deviceToken, payload); 這在方法結束時沒有完成。 所以你應該返回一個承諾,一旦工作完成就解決了。 幸運的是admin.messaging().sendToDevice(deviceToken, payload); 本身返回一個承諾。 所以你可以從函數中返回它,如下所示。

return admin.messaging().sendToDevice(deviceToken, payload);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM