Javascript 执行aync等待功能所用的日志时间

Javascript 执行aync等待功能所用的日志时间,javascript,Javascript,如何计算此函数执行所需的时间 export async function queryElasticSearch(userQuery, index) { if (_.isEmpty(userQuery)) { throw new Error('User query is empty or null'); } try { const elasticSearchRequestBody = getElasticSearchRequestBody(i

如何计算此函数执行所需的时间

export async function queryElasticSearch(userQuery, index) {
    if (_.isEmpty(userQuery)) {
        throw new Error('User query is empty or null');
    }
    try {
        const elasticSearchRequestBody = getElasticSearchRequestBody(index, userQuery);
        return await elasticSearchClient.search(elasticSearchRequestBody);
    } catch (err) {
        throw err;
    }
}
大概是这样的:

export async function queryElasticSearch(userQuery, index) {
  const start = Date.now()
  try {
    if (_.isEmpty(userQuery)) throw new Error('User query is empty or null');
    const elasticSearchRequestBody = getElasticSearchRequestBody(index, userQuery);
    return await elasticSearchClient.search(elasticSearchRequestBody);
  } finally {
    console.log(Date.now() - start)
  }
}
或者,您也可以使用performance.now()以微秒为单位的精度


编辑:根据Bergi的建议最后添加。

您也可以使用
控制台实现此功能。时间
ie

    export async function queryElasticSearch(userQuery, index) {
  console.time('time');
  try {
    if (_.isEmpty(userQuery)) throw new Error('User query is empty or null');
    const elasticSearchRequestBody = getElasticSearchRequestBody(index, userQuery);
    return await elasticSearchClient.search(elasticSearchRequestBody);
  } finally {
    console.timeEnd('time')
  }
}

catch(err){throw err;}
毫无意义。只需放下整个
try
包装器。看看你应该使用
finally
来获取结束时间戳