Я сталкиваюсь с чем-то, чего я не понимаю с помощью Meteor. У меня есть этот метод, который берет запрос, отправляет его на amazon, а затем в обратном вызове этой функции я пытаюсь вернуть результаты.Возвращаемая стоимость от обратного вызова в Meteor.method
Meteor.methods({
'search': function(query) {
var bookInfo;
if (Meteor.isServer) {
amazon.execute('ItemSearch', {
'SearchIndex': 'Books',
'Keywords': query,
'ResponseGroup': 'ItemAttributes'
}, function(results) {
bookInfo = results;
console.log(bookInfo);
return bookInfo;
});
}
}
});
Но когда я помещал следующее в консоли в браузере (хром):
Meteor.call('search', 'harry potter', function(error, response) {
console.log('response:', response);
});
Я получаю это:
undefined
response: undefined VM13464:3
Я думаю, я понимаю, что первое не определено исходит из метода, который не возвращает ничего на клиенте, но обратный вызов вообще не работает.
amazon.execute (...) определенно возвращает что-то, так как console.log прямо над возвратом регистрирует информацию, которую я ищу.
Любые идеи, что происходит не так, и как я могу это исправить?
Я также сталкиваюсь с этой проблемой. Но я не хочу использовать модуль npm. Есть ли какой-либо пакет метеоров для этого, например, будущего волокна –
@MariyaJames проверяет новое редактирование, вы можете сделать это без модуля – Rolljee