【问题标题】:Meteor: Replace deanius:promise with okgrow:promise流星:将 deanius:promise 替换为 okgrow:promise
【发布时间】:2015-12-12 05:37:53
【问题描述】:

我的应用程序使用 deaunius:promise 包作为承诺,现在它已被弃用,我必须将我所有的承诺翻译成 okfrow:promise 包的语法,我试图了解如何使用该包创建流星承诺和如何将我当前的 Promises 转换为新包,但我不确定如何以正确的方式进行,这对我来说完全不同......

这是我以前用 deanius:promise 写的一个承诺示例

Meteor.promise('sendSubmission', null, submission) 
        .then( (result) ->
            FlashMessages.sendSuccess "Successfully Finished the Test"
            Router.go 'submissionView', _id: result.submissionId
        ).catch (error) ->
            FlashMessages.sendError error.reason
            Router.go 'takeTest', slug: currentTest.slug

如何使用 okgrow:promise 包编写上述承诺?他们提供的例子对我一点帮助都没有。感谢您的帮助

【问题讨论】:

  • 你目前拥有的东西出了什么问题?
  • 它刚刚停止工作,在控制台中显示“Object # has no method 'promise'”,在 JavaScript 控制台中显示“deanius:promise is deprecated. Please replace deanius: promise with okgrow:promise in .meteor/packages" 我已经安装了 okgrow:promise 包,但它仍然显示相同的错误
  • 添加 okgrow 承诺后是否也删除了 deanus:promise?

标签: meteor coffeescript promise


【解决方案1】:

我的应用程序使用 deaunius:promise 包作为承诺,现在它已被弃用

这种措辞似乎很不幸。我不会说“已弃用”,而是说“已移动”——除了存储库,没有什么真正改变;它仍然由同一贡献者维护。代码只是一个分支,大部分可能还是一样的。

我必须将我所有的承诺翻译成 okfrow:promise 包的语法

没有。 API 没有任何变化。您需要做的就是更新依赖项的名称。

【讨论】:

  • 嗨,“你需要做的就是更新依赖项的名称”是什么意思,现在我的承诺不起作用它说“对象#没有方法”承诺'"
  • 我不知道 Meteor,但你在某个地方导入了 deaunius:promise。现在您需要导入 okgrow:promise,而您的其余代码应该继续按原样工作..
  • 是的,你是对的,我刚刚用新的替换了旧的,现在一切正常。
猜你喜欢
  • 1970-01-01
  • 2014-07-08
  • 2011-08-16
  • 2013-06-27
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
相关资源
最近更新 更多