Ответ 1
Вам просто нужно добавить пакет HTTP, выполнив его в командной строке в проекте:
Метеор добавить http
Итак, я пытаюсь написать метод, который вызывает HTTP-вызов. Когда я запускаю метод, я получаю следующую ошибку:
Исключение при вызове метода 'upload' TypeError: невозможно вызвать метод 'call' из undefined
Вот как выглядит код:
Клиент:
console.log(Meteor.call('upload', f, content));
Сервер:
Meteor.methods({
upload: function(file, content) {
this.unblock();
Meteor.http.call("PUT", "http://blah");
}
});
UPDATE: проблема решена, оказывается, мне пришлось включить пакет: meteor add http
Вам просто нужно добавить пакет HTTP, выполнив его в командной строке в проекте:
Метеор добавить http
Также вам нужно позвонить с помощью клиентской части Meteor.call.
Из документации:
На клиенте, если вы не пройдете обратный вызов, и вы не находитесь в заглушке, вызов вернет undefined, и вы не сможете получить возвращаемое значение метода. Это потому, что у клиента нет волокон, поэтому на самом деле он не может блокировать удаленное выполнение метода.
Итак, вы должны изменить этот
console.log(Meteor.call('upload', f, content));
к этому
Meteor.call('upload', f, content, function(error, result){console.log(result);});