0

我正在使用 Q.ninvoke 执行猫鼬查询,例如:

var cursor = Tab.find();
// ...
cursor.sort({'someField': -1})
// ...
cursor.skip(page).limit(size)
// ...
return Q.ninvoke(cursor, 'exec');

当我在本地测试它时,这非常有效,但是当我在我的 CI (CircleCI) 上执行时,我得到了错误

Cannot call method 'apply' of undefined"

目前我通过这种方式更改我的代码来修复它

return cursor.exec();

但我仍然不明白为什么它在 CI 上的行为不正确。任何想法?


编辑这是堆栈跟踪:

"stack":"TypeError: Cannot call method 'apply' of undefined\
    at Promise.post (/home/ubuntu/projName/node_modules/q/q.js:1074:36)\
    at Promise.promise.promiseDispatch (/home/ubuntu/projName/node_modules/q/q.js:741:41)\
    at /home/ubuntu/projName/node_modules/q/q.js:557:44\
    at flush (/home/ubuntu/projName/node_modules/q/q.js:108:17)\
    at process._tickDomainCallback (node.js:463:13)","arguments":["apply",null],"type":"non_object_property_call","message":"Cannot call method 'apply' of undefined"}
4

0 回答 0