我有一个提供者,我使用的方法call()
用于http.post()
请求。我的目的是在call()
内处理对象是否包含permission_deny
或error
的检查,并在call()
内进行处理。同样,如果没有与服务器的连接,则应在方法call()
中进行处理。当JSON通过上述任何检查时,我只想返回该组件。但是我不知道该如何处理。这是我目前的状态,但是我知道这不适用于组件中的.subscribe()
。
任何组件
buttonTest(){
let params = new URLSearchParams();
this.dataService.call('clasABC, 'methodABC', params).subscribe((data) => {
// Handle data
});
}
提供商
public call(class, method, params: URLSearchParams) {
params.set('c', class);
params.set('m', method);
this.http.post(/* URI CALL */)
.subscribe((data)=> {
try {
var jsonDataObject = JSON.parse(data.text());
if (jsonDataObject.hasOwnProperty('permission_deny'))
{
// Show alert
return null;
} else if (jsonDataObject.hasOwnProperty('error'))
{
// Show alert
return null;
}
return jsonDataObject;
} catch (e)
{
console.log(e);
}
}, (error) => {
// Alert
})
}