【发布时间】:2017-07-31 16:49:52
【问题描述】:
我想知道在没有外部库的情况下是否可以在 ES6 中执行此操作。我指的是.save 函数,因为在尝试执行此操作时出现错误,并显示“无法读取未定义的属性'saveInfo'”。
schema.statics.saveInfo = function(info,callback){
var toSet = new Info(info);
// I want this save on es6
toSet.save(function(err){
if (err){
return handleError(err);
}else{
callback("Success!...");
}
}); }
module.exports = Info = mongoose.model('userInfo',schema);
而 es6 中的 this 是这样的
schema.statics.saveInfo = (info, callback) => {
const toSet = new Info(info);
toSet.save(err => {
if (err){
return handleError(err);
}else{
callback("Success!...");
}
});
export default Info = mongoose.model('userInfo',schema);
但我收到一条错误消息,提示信息未定义。
【问题讨论】:
-
ECMAScript 2015 是向后兼容的,所以在我看来,您尝试使用一项新功能,但没有成功。请更具体地说明什么不起作用。此外,最后一行不是有效的语法。
-
您的意思是传递您的
schema,而不是Schema?还有,什么是toSet,为什么没有使用Save? -
你让它在 ES5 中工作了吗?请向我们展示该代码。否则这与 ES6 无关——你的代码甚至没有使用任何新的 ES6 特性。
标签: javascript mongoose ecmascript-6