как я могу вернуть User.find , мои данные возвращают значение null?

#node.js #express

Вопрос:

Я пытаюсь поймать токены fcm для моего push-уведомления, но когда я консолирую.зарегистрируйте мои данные, она вернет «null» . В модели «Пользователь» у меня есть мой fcmToken на моей модели, я хочу поймать его, чтобы добавить его на свою платформу .

  User.find( (data,req,res)=>{
        console.log(data)
        if (Array.isArray(data)){
          var sns = new AWS.SNS();
      
        sns.createPlatformEndpoint({
          PlatformApplicationArn: 'arn:aws:sns:us-east-1:025697195090:app/.....',
          Token: data
          
        }, function(err, data) {
          if (err) {
            console.log(err.stack);
            return;
          }
       
          var endpointArn = data.EndpointArn;
        
          var payload = {
            default: 'Hello World',
            APNS: {
              aps: {
                alert: 'coucouuuuu',
                sound: 'default',
                badge: 1
              }
            }
          };
        
          // first have to stringify the inner APNS object...
          payload.APNS = JSON.stringify(payload.APNS);
          // then have to stringify the entire message payload
          payload = JSON.stringify(payload);
        
          console.log('sending push');
          sns.publish({
            Message: payload,
            MessageStructure: 'json',
            TargetArn: endpointArn
          }, function(err, data) {
            if (err) {
              console.log(err.stack);
              return;
            }
        
            console.log('push sent');
            console.log(data);
          });
        });
        }
        
        
      })
      
 

Комментарии:

1. Вместо того, чтобы использовать обратный вызов fn, async/await это упростило бы этот способ, так .find как также обещает возврат. Так что это будет выглядеть так const myData = await User.find(query)