我正在使用 YUI 团队提供的稍作修改的示例代码。当我的源响应 JSON 以外的内容(或者只是有 JSON 语法错误)时,我的浏览器 (Safari) 中止脚本处理,阻止我通知用户有问题。
我绝对不是 JS 专家,所以这段代码可能比它必须的要丑得多。代码大致是:
YUI().use("dump", "node", "datasource-get", "datasource-jsonschema", function(Y) {
var myDataSource = new Y.DataSource.Get({
source:"/some/json/source/?"}),
myCallback = {
success: function(e){
myResponse = e.response;
doSomething(myDataSource);
},
failure: function(e){
Y.get("#errors").setContent("<li>Could not retrieve data: " + e.error.message + "</li>");
}
};
myDataSource.plug(Y.Plugin.DataSourceJSONSchema, {
schema: {
resultListLocator: "blah.list",
resultFields: ["user", "nickname"]
}
});
myDataSource.sendRequest("foo=bar", myCallback);
}
我尝试将“var myDataSource”块包装在 try/catch 中,并且我还尝试包装整个 YUI().use() 块。
是否可以捕获语法错误?我是否必须用单独的 IO 和解析调用替换一体化 DataSource.Get 调用?