2017-06-22 58 views
1

我正在執行step函數。但是,我在執行一個狀態時出錯。通過步進函數執行lambda時出現錯誤

它給錯誤:Lambda.Unknown原因:原因無法確定,因爲Lambda沒有返回錯誤類型。

我的lambda函數調用外部web服務。我不想等到收到webservice響應。

我們可以從函數返回數據而無需等待web服務響應嗎?

我的lambda函數

var http = require('http'); 
exports.handler = (event, context, callback) => { 

    var inputJson= {}; 

    inputJson.firstname= event.firstname; 
    inputJson.lastname= event.lastname; 
    inputJson.workspacename= event.workspacename; 
    inputJson.customermailid= event.customermailid; 
    inputJson.mobilenumber= event.mobilenumber; 
    inputJson.orgname= event.orgname; 

    inputJson.sessionid= event.sessionid; 

    var post_data = JSON.stringify({ 
     "domainname" : inputJson.domainname, 
     "orgname" : inputJson.orgname, 
     "customermailid" : inputJson.customermailid, 
     "adminmailid":"[email protected]", 
     "product":3 
    }); 

    // An object of options to indicate where to post to 
    var post_options = { 
     host: 'host_ip', 
     path: 'path', 
     method: 'POST', 
     headers: { 
      'Content-Type': 'application/json' 
     } 
    }; 

    // Set up the request 
    var post_req = http.request(post_options, function(res) { 
     res.setEncoding('utf8'); 

    }); 

    post_req.on('error', function (event) { 
      console.log('Response: Error=' + event); 
      callback(null, inputJson); 
    }); 

    // post the data 
    post_req.write(post_data); 
    post_req.end(); 

    callback(null, inputJson); 

}; 

回答

0

你可以,但它可能不會給你所期望的結果。特別是與您的錯誤處理。但是,如果您希望Lambda在不等待您的帖子回覆的情況下返回。您可以設置:context.callbackWaitsForEmptyEventLoop = false

相關問題