Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript WebStorm错误:表达式语句不是赋值或调用_Javascript_Node.js_Webstorm - Fatal编程技术网

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

Javascript WebStorm错误:表达式语句不是赋值或调用,javascript,node.js,webstorm,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 },

我正在使用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')
})

注意:代码运行良好。

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


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

问题是,如果该语句在函数中未执行以下任何操作,WebStorm将显示警告:

  • 调用另一个函数
  • 做任何形式的任务
  • 返回值
  • (可能还有更多,但这些是我所知道的)
换句话说,WebStorm将其视为不必要的,并试图帮助您捕获未使用的代码

例如,这将显示警告:

const arr=[1,2];
const willShowWarning=arr.map(num=>{
num+1;
});
添加报税表将删除警告:

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

答案是不要更改WebStorm设置。

console.log('无法保存todo')
没有分号
?分号只会给出警告,所以它并不重要@YashKaranke。许多编码样式甚至不遵循分号规则。gauravmuk回答正确,请注意,您可以从Webstorm->Preferences菜单更改Javascript,而不是从File->Default设置更改Javascript。第二个对您当前的项目没有影响考虑到ES6的当前批准状态,这可以作为基于JSX的项目的一般建议吗?这个答案不正确,因为我将设置设置为Ecmascript 6,但是我仍然得到警告。@Jim我看到了同样的情况,重新启动IDE为我解决了问题。我甚至没有重新启动整个IDE。仅更改了选项“仅基于类型…”的开和关,并修复了该问题。