Ibm mobilefirst 如何最好地;返回一个错误";从Worklight程序?

Ibm mobilefirst 如何最好地;返回一个错误";从Worklight程序?,ibm-mobilefirst,worklight-adapters,Ibm Mobilefirst,Worklight Adapters,我用几个简单的过程编写了一个适配器。在某些情况下,我需要向打电话的人发出信号,表示出了问题。我试过几种方法 抛出异常:异常的文本通过onFailure回调(great)返回给调用方,但包含在异常的模块名和行号中。TMI 返回isSuccessful=false的对象:这就像一个符咒,通过onFailure回调传递给调用者 例如: return { isSuccessful: false, errors: ["No servers available"] }; 然而,明确警告

我用几个简单的过程编写了一个适配器。在某些情况下,我需要向打电话的人发出信号,表示出了问题。我试过几种方法

  • 抛出异常:异常的文本通过onFailure回调(great)返回给调用方,但包含在异常的模块名和行号中。TMI

  • 返回isSuccessful=false的对象:这就像一个符咒,通过onFailure回调传递给调用者

例如:

return {
    isSuccessful: false,
    errors: ["No servers available"]
};

然而,明确警告不要这样做,虽然没有描述替代方案-你能吗?

你看过这篇博文吗?

博客帖子详细信息:

对于
invokeProcess
(客户端到适配器):

  • 调用响应是什么样子的
  • isSuccessful何时为真
  • isSuccessful何时为假
对于
调用EHTTP
(适配器到服务器):

  • 后端调用响应是什么样子的
  • isSuccessful何时为真
  • isSuccessful何时为假

根据您将在回复客户时提供的条件,您可以更清楚地返回错误。

对于它的价值,我将执行以下操作。服务器:
返回{error:“没有可用的服务器”}
,客户端:
如果(response.error){/*处理错误*/}否则{/*处理成功*/}
。其思想是创建一个自定义错误对象(如您的示例中所示),并在成功案例之前检查失败案例(该自定义错误对象存在)。使用您想要的任何键,不要使用Worklight使用的键(即,
isSuccessful
),因为在以后的版本中,该行为可能会发生更改。此外,我还将查看另一篇最近发布的博客文章,标题为。在第二篇博文中,您应该更好地了解如何在Worklight适配器中最好地“返回错误”。