我正在努力让API调用正常工作。
在服务器上激活以下代码。
Meteor.methods({
"gap-api": function() {
this.unblock();
var response = Meteor.wrapasync(apiCall)();
return response;
}
});
我得到的错误是内部服务器错误500.所以尝试失败,但我不明白为什么。
在实现实际的API之前,我首先要让“这是一个尝试返回”字符串工作。
任何建议?
由于
var apiCall = function(callback) {
try {
var response = "this is a try return";
callback(null, response);
} catch (error) {
// If the API responded with an error message and a payload
if (error.response) {
var errorCode = error.response.data.code;
var errorMessage = error.response.data.message;
// Otherwise use a generic error message
} else {
var errorCode = 500;
var errorMessage = "Cannot access the API";
}
// Create an Error object and return it via callback
var myError = new Meteor.Error(errorCode, errorMessage);
callback(myError, null);
}
};
我使用此代码作为参考: https://dzone.com/articles/integrating-external-apis-your
答案 0 :(得分:0)
首先,它应该是Meteor.wrapAsync
,而不是Meteor.wrapasync
。
其次,您的apiCall
函数需要callback
参数,但您没有任何参数。
您的apiCall
函数不应该指望callback
参数,它应该只是return
或抛出异常。毕竟,你将它包装在同步方法调用中。