我们正在使用setInterval函数定期查询JSONStore(在JS应用程序中)并且不时(即无法重现)我们得到错误PROVISION_TABLE_SEARCH_FIELDS_MISMATCH或USERNAME_MISMATCH_DETECTED。
问题是我从不更改搜索字段或用户名(因为它们是硬编码的)。
是否有任何理由会返回这些错误?
答案 0 :(得分:0)
您可以查看以下JSONStore错误代码列表:https://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.1.0/com.ibm.worklight.dev.doc/devref/r_jsonstore_errorcodes.html
-2 PROVISION_TABLE_SEARCH_FIELDS_MISMATCH 搜索字段不是动态的。在使用新搜索字段调用init方法之前,如果不在WL.JSONStore类中调用destroy方法或removeCollection方法,则无法更改搜索字段。如果更改搜索字段的名称或类型,则会发生此错误。例如:{key:'string'}到{key:'number'}或{myKey:'string'}到{theKey:'string'}。
和
-6 USERNAME_MISMATCH_DETECTED 要注销,JSONStore用户必须首先调用WL.JSONStore类中的closeAll方法。一次只能有一个用户。
我的猜测是你可能想要增加你正在使用的超时值。这听起来像是一个时间问题(你也说它发生在“不时”)。