针对代码:asyncfunctiongetTitle(url){letresponse=awaitfetch(url);lethtml=awaitresponse.text();returnhtml.match(/<title>([\s\S]+)/i)[1];}getTitle(‘https://tc39.github.io/ecma262/’).then(console.log)//“ECMAScript2017LanguageSpecification”说法正确的是()
A: 函数getTitle内部有三个操作:抓取网页、取出文本、匹配页面标题。只有这三个操作全部完成,才会执行then方法里面的console.log
B: async函数返回的Promise对象,必须等到内部所有await命令后面的Promise对象执行完,才会发生状态改变,除非遇到return语句或者抛出错误
C: 只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数
D: 整个程序不会有任何输出
A: 函数getTitle内部有三个操作:抓取网页、取出文本、匹配页面标题。只有这三个操作全部完成,才会执行then方法里面的console.log
B: async函数返回的Promise对象,必须等到内部所有await命令后面的Promise对象执行完,才会发生状态改变,除非遇到return语句或者抛出错误
C: 只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数
D: 整个程序不会有任何输出
举一反三
- 函数前面的async关键字,表明该函数内部有异步操作。调用该函数时,会立即返回一个Promise对象。
- async/await使用的注意点正确的是() A: await命令后面的Promise对象,运行结果可能是rejected,所以最好把await命令放在try...catch代码块中 B: 多个await命令后面的异步操作,如果不存在继发关系,最好让它们同时触发 C: await命令只能用在async函数之中,如果用在普通函数,就会报错 D: 如果确实希望多个请求并发执行,可以使用Promise.all方法
- 定义函数只是规定了函数会执行什么操作,但并不会真正执行;只有调用函数时才会真正去执行函数中的代码。 A: 正确 B: 错误
- 定义函数只是规定了函数会执行什么操作,但并不会真正执行;只有调用函数时才会真正去执行函数中的代码。
- 成教云: 定义函数只是规定了函数会执行什么操作,但并不会真正执行;只有调用函数时才会真正去执行函数中的代码。()