YUI 팀에서 제공 한 약간 수정 된 샘플 코드를 사용하고 있습니다. 내 소스가 JSON이 아닌 다른 것으로 응답하거나 JSON 구문 오류가있는 경우 브라우저 (Safari)가 스크립트 처리를 중단하고 사용자에게 알리지 못하게합니다.YUI3을 사용하는 동안 Javascript 구문 오류를 잡습니다.
저는 확실히 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"블록을 포장 시도했습니다, 나는 또한 전체 YUI()를 포장하려고했습니다() 블록을 사용합니다..
구문 오류를 포착 할 수 있습니까? 올인원 DataSource.Get 호출을 별도의 IO로 바꾸고 호출을 구문 분석해야합니까?