scf-node-debug icon indicating copy to clipboard operation
scf-node-debug copied to clipboard

main 函数使用 async 时,无法正确显示返回内容

Open jk2K opened this issue 6 years ago • 2 comments

入口脚本 index.js

require('dotenv').config();
let mysql = require('mysql2/promise');

exports.main = async (event, context) => {
  // console.log(process.env)
  const connection = await mysql.createConnection({
    host: process.env.DB_HOST,
    user: process.env.DB_USER,
    password: process.env.DB_PASS,
    database: process.env.DB_DATABASE
  });
  
  const [rows, fields] = await connection.execute('SELECT * FROM `abc`');
  const record = rows[0];

  const data = {
    id: record.id,
    summary: record.summary,
    updatedAt: ""
  };
  console.log(data);
  return data;
};

使用 http 方式进行测试,

curl -d 'key=value' localhost:3000
{"code":-1,"message":"no content body","data":null}

scf 报错

[Weapp CLI][2019-03-06T20:44:01+08:00] SCF运行状态: rejected
[Weapp CLI][2019-03-06T20:44:01+08:00] SCF运行超时
[Weapp CLI][2019-03-06T20:44:01+08:00] 运行错误:null
[Weapp CLI][2019-03-06T20:44:01+08:00] 运行结果:undefined
[Weapp CLI][2019-03-06T20:44:01+08:00] 进程返回码:0
[Weapp CLI][2019-03-06T20:44:01+08:00] 日志内容:没有日志输出

console.log 可以打印出日志,但是返回的内容 scf-cli 没有正确展示

⚠️ 线上运行正常,只是 scf-cli 不正确

jk2K avatar Mar 06 '19 12:03 jk2K

你好。 我这边看到scf报错的提示是运行超时,你可以在scf init的时候,将超时时间timeout设置(默认是3秒)长一点再试试。

lou1swu avatar Mar 07 '19 07:03 lou1swu

我设置了 10s,还是不行

jk2K avatar Mar 08 '19 12:03 jk2K