2016-07-25 2 views
2
gesendet werden

ich die folgende Funktion auf Parse Server verwende läuft auf NodeChef:Parse Server Error (Express): Kann nicht Header gesetzt, nachdem sie

var sendMail = function(sendMailData) { 
    return Parse.Cloud.httpRequest({ 
     method: 'POST', 
     url: 'https://api.sparkpost.com/api/v1/transmissions', 
     body: { 
      content: { 
       from: '[email protected]', 
       subject: sendMailData.subject, 
       template_id: sendMailData.templateId, 
      }, 
      substitution_data: sendMailData.substitution_data, 
      recipients: sendMailData.recipients 
     }, 
     headers: { 
      'Authorization': 'AUTHKEY', 
      'Content-Type': 'application/json' 
     } 
    }); 
} 

sendMail(defaultSendMailData).then(function(okresp) { 
    var attemptedSend = false; 
    if (request.user.get('config')) { 
     var userConfig = request.user.get('config') 
     if (userConfig.copyPrescription === true) { 
      attemptedSend = true; 
      sendMail(defaultSendMailData).then(function(okresp) { 
       var attemptedSend = false; 
       if (request.user.get('config')) { 
        var userConfig = request.user.get('config') 
        if (userConfig.copyPrescription === true) { 
         attemptedSend = true; 
         sendMail(copyPrescriptionSendMailData).then(function(okresp) { 
          console.log('Woohoo! You just sent your first mailing 1!'); 
          response.success("Great! Your program has been sent!"); 
         }, function(errresp) { 
          console.log('Whoops! Something went wrong 1'); 
          console.log(errresp); 
          response.error(errresp); 
         }); 
        } 
       }; 
       console.log('Woohoo! You just sent your first mailing 2!'); 
       if (!attemptedSend) { 
        response.success("Great! Your program has been sent!"); 
       } 
      }, function(errresp) { 
       console.log('Whoops! Something went wrong 2'); 
       console.log(errresp); 
       response.error(errresp); 
      }); 
     }); 
    } 
}); 

und erhalte die folgende Fehlermeldung:

at Immediate.<anonymous> (/bundle/node_modules/express/lib/router/index.js:618:15) 
at Immediate.<anonymous> (/bundle/node_modules/express/lib/application.js:232:9) 
at next (/bundle/node_modules/express/lib/router/index.js:271:10) 
at Function.process_params (/bundle/node_modules/express/lib/router/index.js:330:12) 
at /bundle/node_modules/express/lib/router/index.js:280:7 
at trim_prefix (/bundle/node_modules/express/lib/router/index.js:312:13) 
at Layer.handle [as handle_request] (/bundle/node_modules/express/lib/router/layer.js:95:5) 
at jsonParser (/bundle/node_modules/parse-server/node_modules/body-parser/lib/types/json.js:94:7) 
at next (/bundle/node_modules/express/lib/router/index.js:271:10) 
at Function.process_params (/bundle/node_modules/express/lib/router/index.js:330:12) 
at /bundle/node_modules/express/lib/router/index.js:280:7 
at trim_prefix (/bundle/node_modules/express/lib/router/index.js:312:13) 
at Layer.handle [as handle_request] (/bundle/node_modules/express/lib/router/layer.js:95:5) 
at allowCrossDomain (/bundle/index.js:439:9) 
at ServerResponse.header (/bundle/node_modules/express/lib/response.js:719:10) 
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:344:11) 
Error: Can't set headers after they are sent. 

Während die Funktion zu funktionieren scheint, bin ich besorgt über diesen Fehler und woher er kommt. Ich glaube nicht, dass dies auf Parse.com der Fall war (wo ich genau denselben Code benutzte). Dieser Fehler wird nicht in meinen Parse.com-Protokollen angezeigt. Jegliche Unterstützung bei der Bereitstellung meiner Parse Server-Produktionsbereitstellung (dieses Mal zum dritten Mal!) Wäre großartig.

+0

Warum deklarieren Sie 'provySend' zweimal? – DrakaSAN

+0

Abhängig vom Ergebnis von 'userConfig' sende ich eine zweite E-Mail mit anderem Inhalt an den Benutzer. – Taylorsuk

+0

Außerdem ist der Einzug falsch und es fehlen viele schließende Klammern. Die Antwort scheint in der Beispielverwendung nicht definiert zu sein. – DrakaSAN

Antwort

2

Danke an alle obigen Kommentare in dem Versuch, dies zu lösen. Ich wurde von Node Chef kontaktiert, der dies sagte:

The error was been cased by a 2.2.17 parse server update on saturday.

Other users noticed it and reported it and we had to roll back back the updates.

Currently, auto updates have been turned off and you can manually update the server anytime from server settings > runtime settings after you are confident the new version will work well with your app.

Der Rollback hat funktioniert und ich habe jetzt keine Fehler.

Verwandte Themen