Javascript 为什么我的fetch post请求被击中断点,但没有断点?
我在React.Net应用程序中有以下代码:Javascript 为什么我的fetch post请求被击中断点,但没有断点?,javascript,.net,reactjs,Javascript,.net,Reactjs,我在React.Net应用程序中有以下代码: handleAdd(userId, name) { name = encodeURIComponent(name); fetch('api/deck/create/' + userId + '/' + name, { method: 'POST' }).then(); } 代码在此处调用: <Form onSubmit={(id, name) => this.handleAdd(1, this.state.n
handleAdd(userId, name) {
name = encodeURIComponent(name);
fetch('api/deck/create/' + userId + '/' + name, {
method: 'POST'
}).then();
}
代码在此处调用:
<Form onSubmit={(id, name) => this.handleAdd(1, this.state.newDeckName)}> //1 is just a debug id
<Modal.Body>
<FormGroup controlId="formNewDeck">
<FormControl placeholder="Deck Name" value={this.state.newDeckName} onChange={this.handleDeckNameChange} name="name"/>
</FormGroup>
</Modal.Body>
<Modal.Footer>
<Button variant="secondary" onClick={this.handleCloseModal}>Close</Button>
<Button variant="primary" type="submit">Add Deck</Button>
</Modal.Footer>
</Form>
this.handleAdd(1,this.state.newDeckName)}>//1只是一个调试id
接近
加甲板
如果我在调试工具中对其设置断点并跨过它,它会命中我的控制器并正确插入到我的数据库中,但是,如果我不在代码上设置断点并让它运行,那么控制器永远不会命中,因此不会将任何内容插入到数据库中,有人对此有什么解释吗?有一种竞争条件,在这种情况下,页面在发布完成之前刷新,点击我的断点就是给页面时间发布请求。使用
async
和wait
修复了此问题
async handleAdd(userId, name) {
name = encodeURIComponent(name);
await fetch('api/deck/create/' + userId + '/' + name, {
method: 'POST'
}).then();
}
weel,这些信息是不可能知道的,我们需要更多的代码来检查当你调用这个function@MateusMartins现在包括这个信息。