node.js - 处理程序函数中的 AWS Lambda Node JS 8.10 语法错误
问题描述
我有以下 AWS lambda 方法
NodeJS 8.10.0
// 'use strict';
var fs = require("fs");
class ReadFile{
constructor(file){
if(undefined == file){
this.file = "./index.html";
}
}
content(){
var buff = fs.readFileSync(this.file);
return Buffer.from(buff, 'base64').toString('ascii');
}
}
exports.handler = function (event, context, callback) {
var f = new ReadFile(event.file);
callback(null, f.content());
// callback(null,f.content());
};
我得到语法错误
但是当我在没有类的处理程序中定义它时,相同的方法正在工作,如下所示
exports.handler = function (event, context, callback) {
if (undefined === event.file) {
event.file = "index.html";
}
var cn = fs.readFileSync(event.file);
callback(null, Buffer.from(cn, 'base64').toString('ascii'));
// callback(null,f.content());
};
出现错误
{errorMessage=RequestId: a51e4f417 Process exited before completing request}
解决方案
看起来问题出在您的构造函数代码中。我认为你缺少else
的部分条件。所以尝试更换
constructor(file){
if(undefined == file){
this.file = "./index.html";
}
}
至
constructor(file){
if(undefined == file){
this.file = "./index.html";
}
else {
this.file = file;
}
}
推荐阅读
- setinterval - Discord.js - 如何每 15 秒更改一次机器人的存在?
- javascript - 点击页面没有加载更多内容
- reactjs - React-App- Rewired 不会添加 Babel 插件
- python - 使用 PIP 安装的 PyAudio 缺少文件?
- javascript - javascript 类 - 具有访问权限的 iife 方法
- javascript - 带标签的父/子复选框
- python - 这两种python导入方法有什么区别?
- ruby-on-rails - 为什么我的电子邮件下载链接会打开一个新的浏览器选项卡?
- java - 通过合并具有相同 Id 的集合中的两个对象来创建一个新对象,并将生成的对象添加到不同的集合中
- django - 表单 as_p、错误验证、django 注册