我使用Meteor中的HTTP方法调用外部API(Box)。这些工作正常,但我正在尝试实现一些错误处理,并遇到了捕获错误的问题。
Meteor.methods({
copyTemplateFolder: function () {
this.unblock();
var accessToken = Meteor.user().services.box.accessToken;
var apiURL = "https://api.box.com/2.0/folders/FOLDER_ID/copy";
var apiCall = HTTP.post(apiURL, {
params: {access_token: accessToken},
data: {
"parent": {
"id" : FOLDER_ID
},
"name": "New Folder"
}
});
try {
var response = apiCall;
console.log(response.data);
return response.data;
} catch(e) {
console.log(e);
}
});
我已经替换了一些ID等,但是没有错误时代码工作正常。但是当出现错误时,catch
内的代码永远不会触发。我读过的所有内容都说明了应该如何做。
任何人都看到我正在做的事情有什么问题吗?
答案 0 :(得分:0)
您的try-block不包含发生实际异常的部分。 handleize
调用将抛出异常。从现有变量中检索子字段永远不会导致异常,即使该字段未定义。
这可能是你想要的:
post