0

我无法弄清楚如何使用 Meteor 正确使用 wrapAsync。我目前正在使用 node-apac 和亚马逊产品广告 API。

如果我试图运行以下代码,我该如何异步运行它:

opHelper.execute('ItemSearch', {
    'SearchIndex': 'Books',
    'Keywords': 'harry potter',
    'ResponseGroup': 'ItemAttributes, Offers'
}, function(err, results) {
    console.log(results);
});

我尝试观看多个视频,但遇到了问题

4

1 回答 1

0

Meteor.wrapAsync采用类似的异步方法opHelper.execute并使其同步。只要该方法采用的最后一个参数返回一个回调,其中第一个参数是错误,第二个参数是结果,它就可以做到这一点。这就像你的方法!

您创建了一个同步的新方法:

var opExecuteSynchronous = Meteor.wrapAsync(opHelper.Execute, opHelper);

第一个参数opHelper.Execute是您要异步的方法,第二个参数是方法的上下文 ( opHelper)。

您现在可以同步使用它:

var results = opExecuteSynchronous('ItemSearch', {
    'SearchIndex': 'Books',
    'Keywords': 'harry potter',
    'ResponseGroup': 'ItemAttributes, Offers'
})

err如果被调用而不是results在回调中,这将引发错误。

于 2014-12-22T21:08:14.170 回答