簡體   English   中英

你能弄清楚為什么我的代碼以前可以工作但不能工作嗎?

[英]Could you figure out why my code isn't working when it was working previously?

const mysql = require('mysql'); 
const connection = mysql.createConnection({ 
  host: process.env.host1,  
  user: process.env.user, 
  password: process.env.password, 
  port: process.env.port1, 
  connectionLimit: 10,   
  multipleStatements: true,
  connectionLimit: 1000,   
  connectTimeout: 60 * 60 * 1000, 
  acquireTimeout: 60 * 60 * 1000, 
  timeout: 60 * 60 * 1000, 
  debug: true 
});

exports.handler = (event, context, callback) => {  
 context.callbackWaitsForEmptyEventLoop = false;
 var post  = event;
 var query1= connection.query("SELECT * FROM ForexAssistant.users WHERE username=? OR email=?",[event.username,event.email],function(error, results){
  if(results){
   callback(null, 'Already Registered'); 
  }
  else{
   var query2 = connection.query('INSERT INTO ForexAssistant.users SET ?', post, function (error, results) {
    if (error) {   
     throw error  
    }     
   callback(null, 'Successfully Registered');  
  });
 }
});
}

示例測試事件:

{
  "username": "domi",
  "password": "123456",
  "email": "do@gmail.com"
}

問題發生在 AWS Lambda 上,運行時使用代碼(以上)使用 Node.js。當我的測試事件是我已經在 mysql 表中作為條目的東西時,它將提供回調 Already Registered 並且當我的測試事件是新的東西時不在 mysql 表中,我仍然得到回調 Already Registered when 相反它應該移動到 else 語句並執行它以獲得回調成功注冊。 以前這是正確的,我沒有修改代碼,因為它正在工作,當我昨晚檢查它時,我注意到了這個錯誤。

還檢查results的長度

if (results && results.length !== 0) {
  // ...
}

暫無
暫無

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

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