Skip to Content
JavaScript 经典实例:第三版
book

JavaScript 经典实例:第三版

by Adam D. Scott, Matthew MacDonald, Shelley Powers
September 2022
Intermediate to advanced
585 pages
8h 17m
Chinese
China Electric Power Press Ltd.
Content preview from JavaScript 经典实例:第三版
252
9
promise1
promise2
promise3
值时,三个异步操作都已经在处理中。
await
通常用在返回
promise
的函数上,不过也可以处理任何
Promise
对象。
等待
promise
的顺序也无关紧要,因为你可以放心在已经完成的
promise
上使用
await
。无论如何,这部分代码在每个
promise
得到解决或者被拒之前是不会跳过
的(严格来说,这意味着,这部分代码的行为与
Promise.allSettled()
一致,与
Promise.all()
不同,因为这部分代码将等待所有
promise
得到处理,即使有失败
也没关系)。
9.6
创建异步生成器函数
9.6.1
问题
你想为一个操作创建异步返回值的生成器。
9.6.2
方案
6.7
节介绍的生成器函数专用句法中使用
async
关键字。
下面是一个非常简单的生成器,源源不断产出随机数。
function
* getRandomIntegers(max) {
while
(
true
) {
yield
Math.floor(Math.random() * Math.floor(max) + 1);
}
}
这个生成器的调用方法如下所示。
const
randomGenerator = getRandomIntegers(6);
//
获取
10
个介于
1
6
之间的随机值
for
(
let
i=0; i<10; i++) {
console.log(randomGenerator.next());
}
若想让这个生成器异步产出值,与常规函数一样,只需加上 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

JavaScript Patterns

JavaScript Patterns

Stoyan Stefanov
JavaScript

JavaScript

David Flanagan
JavaScript

JavaScript

T. J. Crowder

Publisher Resources

ISBN: 9787519869601