【发布时间】:2016-06-05 20:28:00
【问题描述】:
我有一个 node@4.3.1 + mongo + mongoose@4.4.4 项目,我认为它为我提供了 mpromise 库(猫鼬文档暗示了这一点)
假设它是 mpromise,我对创建一个已经实现的 promise 的非常简单的工作感到困惑(所以我可以存根一个应该返回一个 promise 的函数)。
mpromise doc (see the "Chain" section) 说我可以这样做:
function makeMeAPromise(i) {
var p = new Promise;
p.fulfill(i);
return p;
}
但这会失败,但出现“未定义的承诺解析器不是函数”异常。
我在使用承诺吗?医生在说谎吗?如何创建已解决的承诺?
编辑:这行得通
return new Promise(function(fulfill, reject) { fulfill("really? this can't be the only way"); });
但这不可能是最简单的方法,对吧?
【问题讨论】:
-
试试
return p.resolve(i);。另外,如果你有var Promise = require('mpromise');,那么你正在使用mpromise,如果没有,那么你正在使用别的东西 -
我希望我能...
var p = new Promise;导致异常。与new Promise()相同 -
试试
return Promise.resolve(i)@user1272965 -
谢谢。 @BenjaminGruenbaum 肯定会欣赏完整描述 mongo 承诺的文档。只用谷歌搜索了 10 分钟,我很惊讶我没有找到多少。
-
@BenjaminGruenbaum,很抱歉打扰......现在我想知道如何做 Promise.any(),但我不想发布一个糟糕的 SO 问题。你能告诉我我正在使用哪个承诺库,或者如何弄清楚,以及它的文档在哪里?
标签: javascript node.js mongodb mongoose promise