0
마지막으로 유성으로 다이빙합니다. 나는 HTTP get 요청에 관한 작은 문제가있다.Meteor : 콘솔 (서버)에 표시되고 클라이언트에 정의되지 않음을 보냅니다.
클라이언트에서는 서버에서 데이터를 가져 오기 위해 간단한 호출이 실행됩니다.
if (Meteor.isClient) {
Template.liveprice.helpers({
price: function() {
Meteor.call('getPrice', function(error, response) {
if (error) {
return error;
} else {
return response;
}
})
}
})
}
서버 데이터는 실제 및 공개 API에서 검색됩니다. 서버에서 제대로 작동하지만 정의되지 않은 결과는 클라이언트로 다시 전송됩니다. 내가 여기서 무엇을 놓치고 있니?
if (Meteor.isServer) {
Meteor.methods({
getPrice: function() {
var url = 'https://www.bitstamp.net/api/ticker/';
var req = HTTP.call('GET',url,function(error, result) {
//console.log(result);
if (result.statusCode == 200) {
var last = result.data.last;
console.log(last);//this shows the desired result in the server's console
return last;//sends back undefined to the client
} else {
return error;
}
});
}
})
}
유성은 모르지만 비동기 호출처럼 보이며 비동기 호출에서 복귀 할 수 없습니다. – epascarello
나는 내 대답을 받아 들였지만 몇 가지 변화를 보았다. 특히, 오류 객체를 반환하기보다는 "Meteor.Error"를 던져야합니다. 가장 중요한 것은 원격 서버에서받은 데이터의 유효성을 검사해야한다는 것입니다. – sbking
@sbking, thx. http 요청을 실시간으로 만들 수있는 기회는 무엇입니까? Atm 업데이트가 표시되지 않습니다. – user3586358