【发布时间】:2015-10-21 22:22:26
【问题描述】:
Promise 是一种对象类型,用作未来结果的占位符, 例如 HTTP 请求的主体,或者 Meteor 方法调用的返回值。 基本上任何强制你传递回调来接收它的函数 返回值(而不是仅仅返回它)被称为异步函数, 而它返回的值可以用一个 Promise 来表示。
Meteor 中的问题是 helper 方法仅适用于
同步值 - 例如网页中的文本,或
Minimongo 集合。当你从一个返回 Promise 时,助手
- 显示
[object Promise]而不是解析值 - 承诺解决后不更新
存在一些解决此问题的尝试:simple:reactive-method
和arsnebula:reactive-promise,但它们要求您将助手更改为某种样式,或者仅使用Meteor.call,而不仅仅是简单地允许返回通用承诺。
是否存在一些我忽略的东西,或者是否有解决方案?我已经对此进行了一段时间的试验,如果没有官方答案,我可能会自己做一些事情。
【问题讨论】:
-
请给出到目前为止您尝试过的示例代码。
-
好问题。您基本上希望将
simple:reactive-method与promise 一起使用而不是方法,但除此之外它是相同的想法。 -
是的,@AndrewMao,但 ReactiveMethod 不可链接,不是完整的承诺..
标签: meteor meteor-blaze