WebStorm error: expression statement is not assignment or call
WebStorm error: expression statement is not assignment or call
我正在使用 WebStorm,但遇到了一个我无法理解的错误。 Node.js + MongoDB.
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect(' mongodb://localhost:27017/TodoApp');
var Todo = mongoose.model('Todo', {
text: {
type: String
},
completed: {
type: Boolean
},
completedAt: {
type: Number
}
});
var newTodo = new Todo({
text: 'Cook dinner'
});
问题出在这个块:
newTodo.save().then((doc) => {
console.log('Saved todo', doc);
}, (e) => {
console.log('Unable to save todo')
})
P.S.: 代码工作正常。
您需要将 JavaScript 语言版本更改为 ES6。更改此设置应该可以解决问题:
在某些情况下,您可能需要重新启动 IDE 才能正确反映更改。
问题是,如果该语句 未在函数中执行 任何以下操作,WebStorm 将显示警告:
- 正在调用另一个函数
- 进行任何类型的分配
- 返回值
- (可能还有更多,但我知道的就这些)
换句话说,WebStorm 认为 功能是不必要的,并试图帮助您捕获未使用的代码。
例如,这将显示警告:
const arr = [1, 2];
const willShowWarning = arr.map(num => {
num + 1;
});
添加 return 将消除警告:
const arr = [1, 2];
const willNotShowWarning = arr.map(num => {
return num + 1;
});
答案是不更改 WebStorm 设置。
我正在使用 WebStorm,但遇到了一个我无法理解的错误。 Node.js + MongoDB.
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect(' mongodb://localhost:27017/TodoApp');
var Todo = mongoose.model('Todo', {
text: {
type: String
},
completed: {
type: Boolean
},
completedAt: {
type: Number
}
});
var newTodo = new Todo({
text: 'Cook dinner'
});
问题出在这个块:
newTodo.save().then((doc) => {
console.log('Saved todo', doc);
}, (e) => {
console.log('Unable to save todo')
})
P.S.: 代码工作正常。
您需要将 JavaScript 语言版本更改为 ES6。更改此设置应该可以解决问题:
在某些情况下,您可能需要重新启动 IDE 才能正确反映更改。
问题是,如果该语句 未在函数中执行 任何以下操作,WebStorm 将显示警告:
- 正在调用另一个函数
- 进行任何类型的分配
- 返回值
- (可能还有更多,但我知道的就这些)
换句话说,WebStorm 认为 功能是不必要的,并试图帮助您捕获未使用的代码。
例如,这将显示警告:
const arr = [1, 2];
const willShowWarning = arr.map(num => {
num + 1;
});
添加 return 将消除警告:
const arr = [1, 2];
const willNotShowWarning = arr.map(num => {
return num + 1;
});
答案是不更改 WebStorm 设置。