[英]Is there a way to run this http response callback in an asynchronous way?
[英]How does callback way of asynchronous programming ensures that the callback function is run only after doing the asynchronous task?
比如说,我必须执行一个异步任务(一个 AJAX 调用),然后运行我的回调 function。 到目前为止我在 web 上看到的回调编码方式是:
const myAsynchronousFunction = (data, callback) => {
ajaxCall(data);
callback();
}
这个 function 是否确保在 ajax 调用之后执行回调? 如果没有,怎么办? 如果是,它如何确保上述代码以同步方式运行。
在您的示例中,这将异步运行。 callback
将在 ajaxCall 完成之前执行。
为了确保在 ajax 调用之后运行回调,您可以像这样使用async await
:
const myAsynchronousFunction = async (data, callback) => {
await ajaxCall(data);
callback();
}
注意async
和await
关键字。 这将确保ajaxCall
promise 在执行callback
之前完成。
或者,您可以使用Promise.then()
语法,它做同样的事情:
const myAsynchronousFunction = (data, callback) => {
ajaxCall(data).then(() => callback())
}
当ajaxCall
promise 成功时,它会触发then()
,然后执行你的callback()
不,您需要在 ajax 回调中调用回调。 ajax 回调 function 只会在 ajax 请求完成后开始运行。 因此,在其回调中的 ajax 之后添加您想要的逻辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.