CNode

TypeError: Cannot call method 'slice' of null,怎么解决呢?

Wwangxuq发布于12 年前最后回复12 年前4 回复13262 浏览0 收藏

E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\connection\base.js:245 throw message; ^ TypeError: Cannot call method 'slice' of null at convert_tree_to_html (E:\nodejs\lianxi\blog\node_modules\markdown\lib\markdown.js:1556:21) at Object.toHTMLTree (E:\nodejs\lianxi\blog\node_modules\markdown\lib\markdown.js:112:14) at Object.toHTML (E:\nodejs\lianxi\blog\node_modules\markdown\lib\markdown.js:82:22) at E:\nodejs\lianxi\blog\models\post.js:74:26 at Array.forEach (native) at E:\nodejs\lianxi\blog\models\post.js:73:10 at E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\cursor.js:163:16 at commandHandler (E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\cursor.js:709:16) at E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\db.js:1846:9 at Server.Base._callHandler (E:\nodejs\lianxi\blog\node_modules\mongodb\lib\mongodb\connection\base.j s:445:41) 下边是我的代码: collection.find(query).sort({time:-1}).toArray(function(err,docs){ mongodb.close(); if(err){ return callback(err); } 73 docs.forEach(function(doc){ 74 doc.post = markdown.toHTML(doc.post); }); callback(null,docs);//成功,已数组返回查询结果

查看回复

回复 (4)

D
dlutwuwei#1·12 年前

应该docs是null,查询失败,应该是,js出这种错误一般就是因为调用slice的对象为null

W
wangxuq#2·12 年前
引用 dlutwuwei应该docs是null,查询失败,应该是,js出这种错误一般就是因为调用slice的对象为null

但是在查询的时候没有问题啊,然后在上传照片的时候就出问题了。。。

W
wqZhang#3·12 年前

查一下数据库,doc.post这个可能是null的 我遇到这样的问题就是这样的

J
Jaha1986#4·12 年前

docs.forEach(function(doc){ if(doc.post){ doc.post = markdown.toHTML(doc.post); } });

74行执行之前加个判断即可. 报错是提示doc.post为null导致后续出错

参与回复
登录后即可参与回复。登录