首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >koa.js中的未知误差

koa.js中的未知误差
EN

Stack Overflow用户
提问于 2014-12-07 08:18:13
回答 1查看 249关注 0票数 1

我正在我的基于linux的wordpress中做一个node.js项目。就在今天,我需要在OSX上运行它。

一切都安装得很完美。但是在尝试运行的时候,应用程序得到了这样的错误,这是没有理由的。有没有人面临同样的问题,如果有,解决办法是什么?

代码语言:javascript
复制
TypeError: #<Promise> is not a function
  at Array.forEach (native)
  at Object.exports.indexAction (/Users/nixon/Documents/node/madefreshly-3/application/controllers/dashboardController.js:26:24)
  at GeneratorFunctionPrototype.next (native)
  at Object.dispatch (/Users/nixon/Documents/node/madefreshly-3/node_modules/koa-router/lib/router.js:96:44)
  at GeneratorFunctionPrototype.next (native)
  at Object.next (/Users/nixon/Documents/node/madefreshly-3/node_modules/koa/node_modules/co/index.js:74:21)
  at /Users/nixon/Documents/node/madefreshly-3/node_modules/koa/node_modules/co/index.js:93:18
  at /Users/nixon/Documents/node/madefreshly-3/node_modules/koa/node_modules/co/index.js:224:7
  at in_the_handler (/Users/nixon/Documents/node/madefreshly-3/node_modules/mongoose/node_modules/mpromise/lib/promise.js:237:18)
  at process._tickCallback (node.js:372:11)

来自dashboard.js的代码行

代码语言:javascript
复制
24      var raw7DayTotalSale = yield ships.ship.find({"ship_shipped": {'$gt' : last7Day}, store_id: this.session.loggedId}).where('ship_paid').ne('0').exec();
25      var last7dayTotalSale = 0;
26      raw7DayTotalSale.forEach(co(function* (item) {
27           last7dayTotalSale += Number(item.ship_total);
28        }));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-08 00:14:38

最新版本的co返回的是允诺,而不是函数

因此,.forEach()试图像调用函数一样调用允诺

我想你在每台机器上都有不同版本的co

co@4.0.0已经发布,它依赖于承诺。它现在是迈向ES7异步/等待的垫脚石。主要的API更改是co()的调用方式。在此之前,co返回了一个"thunk",然后使用带有可选参数的回调进行调用。现在,co()返回一个承诺。

https://github.com/tj/co#co-v4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27340918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档