Javascript 理解异步和等待
我对JS还是个新手,我试图理解异步并等待 我在网上浏览了这篇令人惊叹的文章,他们在那里看到了这段代码片段Javascript 理解异步和等待,javascript,asynchronous,Javascript,Asynchronous,我对JS还是个新手,我试图理解异步并等待 我在网上浏览了这篇令人惊叹的文章,他们在那里看到了这段代码片段 function doubleAfter2Seconds(x) { return new Promise(resolve => { setTimeout(() => { resolve(x * 2); }, 2000); }); } async function addAsync(x) { const a = await doubleAf
function doubleAfter2Seconds(x) {
return new Promise(resolve => {
setTimeout(() => {
resolve(x * 2);
}, 2000);
});
}
async function addAsync(x) {
const a = await doubleAfter2Seconds(10);
const b = await doubleAfter2Seconds(20);
const c = await doubleAfter2Seconds(30);
return x + a + b + c;
}
addAsync(10).then((sum) => {
console.log(sum);
});
现在根据上面的文章,我能够得出一些结论,如果有人能验证它是否正确,我会很高兴
要使用wait,我们需要将它嵌套在异步函数下?
异步解决了链接问题?但承诺也是如此,好吗?那么,是什么让异步变得独特/更好呢
要使用wait,我们需要将它嵌套在异步函数下
是,wait关键字仅在异步函数中可用
异步解决了链接问题
它使代码看起来更直观
但承诺也是如此,好吗
您仍可以将其与wait一起使用,例如:
在这种情况下,Promise.all中的所有承诺都将并行解析,您将在2秒内得到结果,而不是6个Promise.all等待并行解析每个承诺,另一方面等待逐个执行,也就是说,如果您有许多不同的函数,每个函数都严重依赖于前一个函数的值,那么在这种情况下,您就不能使用Promise.all。那么,是什么让异步变得独特/更好呢只需将给定的示例更改为使用Promissions和.然后仅调用并比较两个版本。
async function addAsync(x) {
const [a, b, c] = await Promise.all([
doubleAfter2Seconds(10),
doubleAfter2Seconds(20),
doubleAfter2Seconds(30)
]);
return x + a + b + c;
}