Javascript如何检查多个等待异步mssql DB请求结果中的错误?

时间:2019-06-12 14:17:06

标签: javascript node.js sql-server asynchronous error-handling

我在Javascript的异步函数中对mssql数据库有多个Node-mssql模块请求...

通常等待结果并检查所有结果是否均通过的最佳方法是什么? 这些请求属于同一类,因此它们必须全部通过,否则,如果全部失败,则全部失败。

let result1 = await requestObject.query(someQuery);
let result2 = await requestObject.query(otherQuery);

通常,我使用.then()。catch子句

.then((result) => res.status(200).send(result)).catch(err => res.status(404).send(err)); 

但是我想避免这种情况,因为我有2个查询,并且只能在上一个查询中使用它,因为在发送响应后,我无法发送其他响应。

检查两个查询的返回状态是否正常或是否发生错误的最佳方法是什么?因为它们按上述顺序同步执行。

我认为我的方法可能是:

  1. 我可以检查result1和result2的某些状态代码,或者它们是否不为空(取决于我的查询?)
  2. 我将执行.then()Promise链,在其中执行第一个结果查询的.then()块内的第二个查询,最后执行.catch(),因此它应该自动捕获所有查询期间发生的所有错误,对吗?

1 个答案:

答案 0 :(得分:1)

您可以执行import { ReactMic } from 'react-mic'; class ParentComponent extends React.Component { stopRecording = () => { this.setState({ record: false, }); } compoentWillUnmount(){ this.stopRecording() } render() { <ReactMic record={this.state.record} // defaults -> false. Set to // true to begin recording onStop={this.onStop} // callback to execute when // audio stops recording onData={this.onData} /> } }

try/catch