首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Meteor.wrapAsync和mailchimp v3的问题

Meteor.wrapAsync和mailchimp v3的问题
EN

Stack Overflow用户
提问于 2016-12-05 19:46:02
回答 1查看 107关注 0票数 1

我试图在Meteor (1.4.1.3)项目中使用mailchimp-api-v3 (我喜欢这个项目中的批处理支持)

我已经在Meteor's .wrapAsync中完成了调用(这里有点学习曲线,但我想我已经知道了)。

我认为.wrapAsync的工作方式和作者编写mailchimp-api-v3包的方式之间存在冲突。

以下是我的方法:

代码语言:javascript
运行
复制
var Mailchimp = require('mailchimp-api-v3')

Meteor.methods({

getCampaigns: function() {
    console.log("running...");

    var mailchimp = new Mailchimp(Meteor.settings.private.mailChimp.apiKey); 

    var getCampaignsAsyncToSync = Meteor.wrapAsync(mailchimp.request, mailchimp);
    var resultOfGetCampaigns = getCampaignsAsyncToSync({method: 'get', path: '/campaigns'}, {});

    var campaigns = [];

    _.each(resultOfGetCampaigns.campaigns, function(campaign){
        var doc = {
            //Just grab a few pieces of data for testing
            id: campaign.id,  
            type: campaign.type,
            create_time: campaign.create_time
        };

        campaigns.push(doc);
    });

    return campaigns;
}
});

控制台错误结果:

代码语言:javascript
运行
复制
=> Meteor server restarted
I20161205-14:32:22.908(-5)? running...
W20161205-14:32:24.134(-5)? (STDERR) Unhandled rejection TypeError: done is not a function
W20161205-14:32:24.135(-5)? (STDERR)     at /Users/michaelwickett/Sites/sagecomm-projects/academica-reporter/node_modules/mailchimp-api-v3/index.js:507:9
W20161205-14:32:24.135(-5)? (STDERR)     at processImmediate [as _immediateCallback] (timers.js:383:17)
W20161205-14:32:24.135(-5)? (STDERR) From previous event:
W20161205-14:32:24.135(-5)? (STDERR)     at Mailchimp.request (/Users/michaelwickett/Sites/sagecomm-projects/academica-reporter/node_modules/mailchimp-api-v3/index.js:506:13)
W20161205-14:32:24.136(-5)? (STDERR)     at packages/meteor/helpers.js:118:1
W20161205-14:32:24.136(-5)? (STDERR)     at [object Object].getCampaigns (server/methods.js:11:36)
W20161205-14:32:24.136(-5)? (STDERR)     at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1711:12)
W20161205-14:32:24.136(-5)? (STDERR)     at packages/ddp-server/livedata_server.js:711:19
W20161205-14:32:24.136(-5)? (STDERR)     at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
W20161205-14:32:24.136(-5)? (STDERR)     at packages/ddp-server/livedata_server.js:709:40
W20161205-14:32:24.137(-5)? (STDERR)     at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
W20161205-14:32:24.137(-5)? (STDERR)     at packages/ddp-server/livedata_server.js:707:46
W20161205-14:32:24.137(-5)? (STDERR)     at Session.method (packages/ddp-server/livedata_server.js:681:23)
W20161205-14:32:24.137(-5)? (STDERR)     at packages/ddp-server/livedata_server.js:551:43

我找到了这个线程流星包裹Meteor.wrapAsync,它似乎是相关的,但我不了解足够的故障排除,或者手动覆盖包的设置方式。依赖关系!

不过,我想理解,所以我的问题。

感谢你花时间阅读,给我一个正确的方向。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-06 01:41:23

您不需要使用.wrapAsync,您正在使用的包支持承诺和Meteor方法很好地发挥了这一点。参见:如何从Meteor方法中的远程API调用返回?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40982138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档