我正在尝试检查api调用的结果是否返回任何内容,并基于此结果执行其他一些操作,但是以下代码始终经过process_result()函数,即使结果为空对象,任何人都可以看到我在做什么错了,
RemoteApi.api_request(server, method, url, data)
.then(result => {
debug("result from API request: ", result)
debug("data from API request: ", data)
if (result !== {}) {
debug("in process result now")
process_result(result, label, model, dispatchOptions)
.then(body => {
onSuccess(body)
})
.catch(error => {
onFailure(error)
})
} else {
debug("outside process result now")
}
})
.catch(error => onFailure(error))
答案 0 :(得分:0)
通常,返回2XX结果的远程请求将进入您的then()
函数。一旦有了它的原始的旧JavaScript。
如果要确保结果是对象,可以检查类型:
if (typeof result === 'object') {
// success
}
如果您不关心结果的内容,但是想要检查数据是否存在,则可以检查其是否真实:
if (result) {
// success
}
远程结果永远不会是{}
的相同实例,因此您的结果过程将始终是真实的。