Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 异步等待在web应用程序中的工作方式_Jquery_Asp.net_Ajax_Async Await - Fatal编程技术网

Jquery 异步等待在web应用程序中的工作方式

Jquery 异步等待在web应用程序中的工作方式,jquery,asp.net,ajax,async-await,Jquery,Asp.net,Ajax,Async Await,这可能是一个基本问题。如何在MVC应用程序中使用异步等待web api调用?假设我在mvc ajax表单中使用提交按钮,并且在控制器中有一个异步web api调用,在这种情况下,在返回ActionResult之前是否必须等待异步操作完成 我希望我需要等到任务完成,因为客户端的ajax脚本需要一个结果 请解释您在类似场景中的见解和经验要真正实现异步,您需要等待响应,然后再将其发送回客户端。您的控制器可能看起来像: public async Task<IHttpActionResult>

这可能是一个基本问题。如何在MVC应用程序中使用异步等待web api调用?假设我在mvc ajax表单中使用提交按钮,并且在控制器中有一个异步web api调用,在这种情况下,在返回ActionResult之前是否必须等待异步操作完成

我希望我需要等到任务完成,因为客户端的ajax脚本需要一个结果


请解释您在类似场景中的见解和经验

要真正实现异步,您需要等待响应,然后再将其发送回客户端。您的控制器可能看起来像:

public async Task<IHttpActionResult> Read()
{
    var data = await _asyncMethod();
    return Ok(data);
}
公共异步任务读取()
{
var data=await_asynchmethod();
返回Ok(数据);
}

因此,在
wait
完成之前,响应不会立即返回到客户端。仅使用
async/await
关键字不会创建新线程,而是告诉当前线程响应可能不会立即可用,因此不要阻塞等待响应的线程。对于非常繁忙的控制器,这可以提高响应速度,因此控制器可以响应其他请求,而无需真正完成第一个请求,并且当等待的异步方法完成时,它会将响应发送回客户端。

要真正实现异步,您需要在将响应发送回客户端之前等待响应。您的控制器可能看起来像:

public async Task<IHttpActionResult> Read()
{
    var data = await _asyncMethod();
    return Ok(data);
}
公共异步任务读取()
{
var data=await_asynchmethod();
返回Ok(数据);
}
因此,在
wait
完成之前,响应不会立即返回到客户端。仅使用
async/await
关键字不会创建新线程,而是告诉当前线程响应可能不会立即可用,因此不要阻塞等待响应的线程。对于非常繁忙的控制器,这可以提高响应能力,因此控制器可以响应其他请求,而无需真正完成第一个请求,并且当等待的异步方法完成时,它会将响应发送回客户端