我一直在努力避免 Meteor 中的回调 hell ,但首先,我将解释我的问题:
我在服务器中声明了一些 Meteor 方法,并在客户端中使用 Meteor.call 调用它们,但主要问题是我有大量的回调使得调试成为一项非常困难的任务(以及维护...)。如果我处理一个“小”项目,这不会成为问题,但我正在构建一个大项目并且我计划使用 promise ,但令我惊讶的是......它不起作用,因为 Meteor.call 只接受回调。
我在这里和 Meteor 论坛上阅读了很多帖子,但没有一个能帮助我……有什么解决办法吗? (我试过 deanius:promise 包还是一样...)
编辑:使用 Meteor 1.4.2
最佳答案
您可以为此使用bluebird
模块。 promisifyAll
允许您将对象上的所有函数转换为使用 promises 而不是回调,因此您可以使用 Meteor.callAsync 而不是使用带有回调的
作为 promise 。Meteor.call
有回调:
Meteor.call(..., function(...) {
// ...
});
promise :
Meteor.callAsync(...).then(function(...) {
// ...
});
关于javascript - 避免回调 hell 。 Meteor.call promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40503604/