TypeError: Cannot read property 'then' of undefined报这种错可能是什么原因 5
根据上述情况,这种问题是在配置session时出现的,跟express版本没关系。
你修改如下试试:
将 var mongoStore = require(“connect-mongo”);
改为var mongoStore = require(“connect-mongo”)(express);
一、介绍。ERROR.TYPE函数是office办公软件excel表格中的一种函数,ERROR.TYPE函数用于返回excel中某一错误值的代号,其语法结构为:ERROR.TYPE(error-val)。ERROR.TYPE函数只有一个参数error-val,可以作为实际的错误值,但通常为一个单元格引用,若没有错误则返回#N/A。
二、数据属性。数据属性(data property)包含一个数据值的位置,在这个位置可以读取和写入值。数据属性有4个特性:
1,Configurable(可配置性),可配置性决定是否可以使用delete删除属性,以及是否可以修改属性描述符的特性,默认值为true
2,Enumerable(可枚举性),可枚举性决定属性是否出现在对象的属性枚举中,比如是否可以通过for-in循环返回该属性,默认值为true
3,Writable(可写性),可写性决定是否可以修改属性的值,默认值为true
4,Value(属性值),属性值包含这个属性的数据值,读取属性值的时候,从这个位置读;写入属性值的时候,把新值保存在这个位置。默认值为undefined
这个问题跟express版本没关系,主要是你用的connect-mongo的版本也许跟书里教程用的不是同一版本。看看connect-mongo的readme。
你修改如下试试:
将 var mongoStore = require(“connect-mongo”);
改为var mongoStore = require(“connect-mongo”)(express);
经过解决这个问题的过程体会到,虽然很多东西是新接触,但是不要觉得多神秘,是有规律所寻的。
由于各个插件的更新比较快,所以会有些向下兼容问题,多看看插件的readme,也许会有意想不到的收获。
还是感谢您的解答,这个问题我已经解决了,在service部分时粗心将返回值写错了。