WebStorm错误:表达式语句不是赋值或调用

时间:2017-06-18 18:17:14

标签: javascript node.js 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。:代码工作正常。

2 个答案:

答案 0 :(得分:37)

您需要将JavaScript语言版本更改为ES6。更改此设置应解决问题:

Settings to change Javscript version to ES6

在某些情况下,您可能需要重新启动IDE才能使更改正确反映。

答案 1 :(得分:3)

问题是,如果该语句 没做 在功能内的以下任何情况,WebStorm将显示​​警告:

  • 调用另一个函数
  • 进行任何形式的任务
  • 返回值
  • (可能还有更多,但我知道的就是这些)

换句话说, WebStorm视图 充当不必要的功能,并试图帮助您捕获未使用的代码。

例如,这将显示警告:

const arr = [1, 2];
const willShowWarning = arr.map(num => {
    num + 1;
});

添加退货将消除警告:

const arr = [1, 2];
const willNotShowWarning = arr.map(num => {
    return num + 1;
});

答案不是不是来更改WebStorm设置。