我从API调用中获取了一个对象,我试图在将JSON数据呈现给我的视图之前进行错误检查。
function response(oResponse) {
if(oResponse && oResponse!= null
&& typeof oResponse === "object" && oResponse.responseCode !== null){
// you're getting data in JSON
// Use responseCode to proceed further
}
}
以下是我的JSON
回复
{"code": "100", "responseCode":"444", :result: "successful"}
我想知道if condition
是否正确?我错过了什么或者是一个很大的条件。
答案 0 :(得分:1)
您可以将条件简化为oResponse && oResponse.responseCode
,如果您关心的不是null
也不是undefined
,并且它的responseCode
属性不是null
undefined
也oResponse != null
。
null
的检查是多余的,因为false
评估为oResponse.responseCode !== null
。typeof oResponse === "object"
是多余的。responseCode
是多余的,因为如果它是字符串或其他类型,则不会有oResponse.responseCode === 0
属性。请注意,如果{{1}}或another "falsy" value,此条件将评估为false(即,这被视为“无效”responseCode)。
@snowYetis关于错误处理程序的评论也是个好主意,以防服务器上出现错误。它不会涵盖无效的成功响应的验证。