web-dev-qa-db-ja.com

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')
})

追伸:コードは正常に機能します。

17
Robison William

JavaScript言語バージョンをES6に変更する必要があります。この設定を変更すると、問題が修正されます。

Settings to change Javscript version to ES6

シナリオによっては、変更を適切に反映するためにIDEを再起動する必要がある場合があります。

41
gauravmuk

問題は、そのステートメントが機能していない関数内で次のいずれかである場合、WebStormが警告を表示することです。

  • 別の関数を呼び出す
  • あらゆる種類の割り当てを行う
  • 値を返す
  • (もっとあるかもしれませんが、それらは私が知っているものです)

言い換えれば、WebStorm viewsは不要な機能であり、未使用のコードをキャッチするのに役立ちます。

たとえば、次の警告が表示されます。

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

リターンを追加すると、警告がなくなります。

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

答えはnotで、WebStormの設定を変更します。

3
Juan Hurtado