相关疑难解决方法(0)

JavaScript闭包如何工作?

您如何向知道其所包含概念的人(例如函数,变量等)解释JavaScript闭包,但不了解闭包本身?

我已经看过维基百科上给出的Scheme示例,但遗憾的是它并没有帮助.

javascript variables closures scope function

7644
推荐指数
82
解决办法
139万
查看次数

在外部范围内的变量上使用await inline

(async function iife () {
  const numbers = [1, 2, 3, 4]
  let count = 0
  async function returnNumberAsync (number) {
    return new Promise(resolve => {
      setTimeout(() => resolve(number), 0)
    })
  }
  await Promise.all(numbers.map(async number => {
    count += await returnNumberAsync(number)
  }))
  console.log(count)
})()
Run Code Online (Sandbox Code Playgroud)

此代码段记录4到控制台,这完全超出了我的范围。一旦将内部的承诺值分配map给它自己的局部变量…

const result = await returnNumberAsync(number)
count += result;
Run Code Online (Sandbox Code Playgroud)

…它的记录10与我期望的一样。当我count += await …??

javascript scope async-await

3
推荐指数
1
解决办法
65
查看次数

标签 统计

javascript ×2

scope ×2

async-await ×1

closures ×1

function ×1

variables ×1