读到这里的同窗,恭喜你,你下次面试碰到类似的问题,至少能拿到 80 分。
我们都知道应用 Promise 处理异步代码比回调机制让代码可读性更高,然则应用 Promise 的问题也很明显,即如不雅没有处理 Promise 的 reject,会导致缺点被丢进黑洞,好在新版的 Chrome 和 Node 7.x 能对未处理的异常给出 Unhandled Rejection Warning,而排查这些缺点还须要一些特其余技能(浏览器、Node.js)。
追问 3:ES7
既然你都看到这里了,那就再保持 2 分钟,接下来的内容会让你明白你的保持是值得的。
多半面试官在决定聘请某个候选人之前还须要考察别的一项重冲要能,即技巧自驱力,直白的说就是候选人像有内部的马达在驱动他,用漂亮的方法解决工程范畴的问题,赓续的跟随营业和技巧变得越来越牛逼,毕竟什么是牛逼?建议浏览法度榜样人生的┞封篇分析。
回到正题,既然 Promise 已经被拿下,若何应用 ES7 中的 async await 特点来让这段代码变的更简洁?你是否可以或许根据本身今朝控制的常识给出谜底?请在这里暂停 1 分钟,思虑下。
- // 模仿其他说话中的 sleep,实际上可所以任何异步操作
- const sleep = (timeountMS) => new Promise((resolve) => {
- setTimeout(resolve, timeountMS);
- });
- (async () => { // 声明即履行的 async 函数表达式
- for (var i = 0; i < 5; i++) {
- await sleep(1000);
- console.log(new Date, i);
- }
- await sleep(1000);
- console.log(new Date, i);
- })();
感激你花时光读到这里,信赖你收成的不仅仅是用 JS 精确控制代码输出的各类技能,更是对于前端工程师的成经久许:扎实的说话基本、与时俱进的才能、强大年夜技巧自驱力。
【编辑推荐】
- 由里到外步步深挖,深刻懂得JSON
- 别再为了this发愁了:JS中的this机制
推荐阅读
$ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \ -Dexec.args="--runner=SparkRunner --inputFile=pom.xml --output=counts" -Pspark-runner 1.概述在大>>>详细阅读
本文标题:80%应聘者都不及格的JS面试题
地址:http://www.17bianji.com/lsqh/34710.html
1/2 1