From bc0ba763f7c15ec2a505ab864ba3cb0c2a087f00 Mon Sep 17 00:00:00 2001 From: ruanyf Date: Sun, 29 Nov 2020 13:04:11 +0800 Subject: [PATCH] docs(async): edit reduce() --- docs/async.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/async.md b/docs/async.md index c28439d..532c1a3 100644 --- a/docs/async.md +++ b/docs/async.md @@ -497,7 +497,7 @@ async function dbFuc(db) { 上面例子中,`reduce()`方法的第一个参数是`async`函数,导致该函数的第一个参数是前一步操作返回的 Promise 对象,所以必须使用`await`等待它操作结束。另外,`reduce()`方法返回的是`docs`数组最后一个成员的`async`函数的执行结果,也是一个 Promise 对象,导致在它前面也必须加上`await`。 -这个例子的`reduce()`的第二个参数是`undefined`,并且第一个参数函数里面没有`return`语句,原因是这个例子没有用到累积变量,而且每一轮`async`函数不管有没有`return`语句,总是返回一个 Promise 对象。换句话说,这里的`reduce()`方法不是为了求值,而是为了遍历操作。 +上面的`reduce()`的参数函数里面没有`return`语句,原因是这个函数的主要目的是`db.post()`操作,不是返回值。而且`async`函数不管有没有`return`语句,总是返回一个 Promise 对象,所以这里的`return`是不必要的。 如果确实希望多个请求并发执行,可以使用`Promise.all`方法。当三个请求都会`resolved`时,下面两种写法效果相同。