1

我有一个非常简单的流星应用程序。我想在这个应用程序中使用邮戳 api,对我来说幸运的是他们有一个 node.js 模块。
https://github.com/voodootikigod/postmark.js
我已经成功地将这个模块安装到节点并且可以看到它坐在那里。
我接触过的每一个资源都告诉我,现在应该可以通过 Meteor 访问,只需一个简单的要求。
到目前为止,这是我的代码。

    if (Meteor.isClient) {
      Template.hello.greeting = function () {
        return "Welcome to postmarkapp.";
      };

      Template.hello.events({
        'click input' : function () {
          // template data, if any, is available in 'this'
          if (typeof console !== 'undefined')
            Meteor.call('sendMail',function(error,result){
              console.log(result);
            });
          }
      });
    }

    if (Meteor.isServer) {
    var require = __meteor_bootstrap__.require;
    postmark = require("postmark")('API_KEY');
        Meteor.methods({
          sendMail: function() {

            return postmark;

          }
        });

    }

现在,当我运行此方法时,我没有收到任何错误,但是我确实得到了一个没有方法的空对象。查看邮戳模块,我应该使用一种方法“发送”来获取对象。

任何人都可以告诉我我可能会出错的地方吗?我认为这可能是在包含节点模块以及在 Meteor 应用程序中使用该模块。

我已经广泛查看了 Meteor 的文档,似乎找不到与该主题相关的任何内容。

先感谢您。

4

1 回答 1

1

此代码试图将postmark.send函数返回给客户端。这是不可能的。方法只能返回 JSON 可序列化值。

您应该能够send在方法主体内使用邮戳的功能,但根据其接口,您可能需要将其包装在纤维中。

于 2012-11-09T17:34:47.177 回答