我正在尝试在与后端资源断开连接时对Angular进行后端开发。
大多数功能都可以,但如果我第二次尝试使用任何资源,我会收到错误:
Error: Unexpected request: GET /localPTicket?ticket=123
No more request expected
我正在模拟的场景是,对于后端服务的每个请求,我必须首先进行Get调用以获得有效的代理票证,然后将响应传递给下一个API调用。
我已经设置了一个演示问题的plunker: https://plnkr.co/edit/KKa6MXcnbK1gcMiBB7MI?p=preview
我认为这个问题与刷新模拟请求有关,但我对文档的理解是使用ngMockE2E这不应该是一个问题。
感谢您的任何指示!
莱斯
答案 0 :(得分:1)
这是因为你正在使用全局正则表达式。
JavaScript中的全局正则表达式可能非常混乱,因为它们具有状态。第一次调用它时会返回字符串中的第一个匹配项,第二次调用它时会返回字符串中的下一个匹配项。如果没有更多的匹配,它将返回没有匹配并重置其状态。
只需从正则表达式的末尾删除g
,它就会按预期运行。