【发布时间】:2021-05-03 17:10:40
【问题描述】:
我对 Javascript 还很陌生,写这篇文章是我的头脑,所以如果我有任何错误,请纠正我。
据我所知,异步函数允许其他进程在后台运行,然后在函数完成后,它返回一个可以解决或拒绝的承诺。此外,由于异步函数中的进程不会按设定的顺序运行,我们可以使用 await 关键字来停止执行,直到进程完成。
然而,让我感到困惑的是两者在代码执行上的差异
function f1() {
//do stuff
}
function f2() {
//do stuff
}
function f3() {
//do stuff
}
async function asyncFunc() {
f1()
f2()
f3()
}
asyncFunc()
还有这个:
async function asyncf1() {
//do stuff
}
async function asyncf2() {
//do stuff
}
async function asyncf3() {
//do stuff
}
function f() {
asyncf1()
asyncf2()
asyncf3()
}
f()
????? (除了第一个示例返回一个承诺这一显而易见的事实)
在同步函数中调用异步函数与在异步函数中调用同步函数是一回事吗?它们都产生相同的输出吗?如果是这样,哪一个比另一个更受欢迎?
【问题讨论】:
-
好吧,你的代码中没有等待......所以它会是一样的。首选什么取决于手头的任务。
-
异步函数允许其他进程在后台运行,然后在函数完成后,它返回一个可以解决或拒绝的承诺。
-
研究建议 - 1. async 函数的实际作用。 2. JavaScript 中的多线程。具体来说,它是如何选择加入的,并且大多数代码仍然是单线程运行的。
-
第一个有效,第二个无效。是否使用异步功能通常不是您的决定。异步函数必须从异步函数(或正确处理结果承诺的异步感知站点)调用
标签: javascript function asynchronous