秋招季即将到来,发一下本该去年发的面经,供大家参考,预祝大家秋招顺利! 一面 自我介绍 盒模型构成、宽高由什么决定 说说BFC 主轴上如何实现等间距布局 如何让内部元素动态填满整个盒子 js中的数据类型 原生获取DOM节点的API 对this的理解 箭头函数有没有this es6新特性的理解 vue生命周期 浏览器渲染页面的流程 css有哪些选择器 css如何实现上下左右中间布局 h5本地存储的形
问题内容: for (let i = 0; i < 10; i++) { const promise = new Promise((resolve, reject) => { const timeout = Math.random() * 1000; setTimeout(() => { console.log(i); }, timeout); }); 上面将给出以下随机输出: 任务很简单:确保每
问题内容: 我最近一直在搞弄api,发现有些奇怪的地方。 返回一个对象。输出 但是,如果将其写为: 这是您可以访问标题属性的标准。 所以我的问题是:为什么要在对象文字中返回一个promise,但是如果刚返回则返回一个值? 问题答案: 为什么要兑现承诺? 因为您在所有标头到达后立即收到。调用使您对尚未加载的http响应的正文有了另一个保证。另请参见[为什么来自JavaScriptfetch API的
问题内容: 我有一个promise对象数组,必须按数组中列出的顺序来解决它们,即,在解析前一个元素之前,我们无法尝试解析一个元素(如方法一样)。 而且,如果一个元素被拒绝,则我需要链立即拒绝,而无需尝试解决以下元素。 如何实现此功能,或者该模式是否已有实现? 编辑 最初的答案表明,我们只能得到此类数组元素的结果,而不能执行它们,因为在此示例中它是预定义的。 但是,如何以避免提前执行的方式生成承诺数
问题内容: 我已经阅读了几篇有关该主题的文章,但是我仍然不清楚是否与抛出错误之间有区别。例如, 使用Promise.reject 使用抛出 我倾向于仅使用它,因为它更短,但我想知道一个相对于另一个是否有任何优势。 问题答案: 使用一个相对于另一个没有优势,但是,在特定情况下无法使用。但是,这些情况可以解决。 每当您进入promise回调时,都可以使用。但是,如果您在任何其他异步回调中,则必须使用。
问题内容: 无论我的Promise是否成功解决,我都想执行相同的操作。我不想将相同的功能绑定到两个参数。没有像jQuery一样的东西吗?如果没有,我该如何实现? 问题答案: 没有像jQuery一样的东西吗? 如果没有,我该如何实现? 您可以这样实现自己的方法: 或更广泛地讲,将解析信息传递给回调: 两者都确保原始解析得以维持(当回调中没有异常时),并确保等待诺言。
问题内容: 编辑 继续重试直到承诺解决的模式(带有delay和maxRetries)。 在结果满足条件之前一直重试的模式(带有delay和maxRetries)。 具有无限重试次数(提供延迟)的高效内存动态模式。 #1的代码。 继续重试,直到承诺解决为止(该语言是否有任何改进社区?) 采用 #2的代码会 继续重试,直到条件以可重用的方式满足条件为止(条件会有所不同)。 问题答案: 有点不同… 异步
问题内容: 我是诺言和使用NodeJS中的请求和诺言编写网络代码的新手。 我想删除这些嵌套的Promise,而是将它们链接起来,但是我不确定我将如何处理它/这是否是正确的方法。 这是请求代码: 任何见识将不胜感激。 问题答案: 在每个回调中,您都需要 返回 新的Promise: 调用返回的承诺然后将使用“内部”承诺中的值进行解析,以便您可以轻松地链接它们。 通用模式:
问题内容: 我已经开发JavaScript几年了,我完全不了解关于promise的麻烦。 看来我所做的就是改变: 无论如何我都可以使用像async这样的库,它有类似以下内容: 哪个代码更多,可读性更差。我在这里什么都没得到,也不是突然变得神奇地“平坦”。更不用说必须将事情变成诺言。 那么,这里的诺言有什么大惊小怪的呢? 问题答案: 承诺不是回调。许诺代表 异步操作 的 未来结果 。当然,以您的方式
问题内容: 在这里,我试图绕过Promise.Here在第一个请求时获取一组链接。在下一个请求时,我获取第一个链接的内容。但是我想在返回下一个Promise对象之前进行延迟。所以我使用setTimeout就可以了,但是它给了我下面的JSON错误( ) SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符 我想知道为什么会失败? 问题答案: 为了保持承诺链的进行,您不
问题内容: 这是“ 用量角器设置Firefox轮廓”主题的后续。 根据howto,可以使用特殊的“ helper” js代码 设置firefox配置文件,该代码使用和库来动态制作编码的firefox配置文件。 这对我一直有效,直到我尝试 使用多个浏览器并进行配置: 通过此设置,我遇到了一个错误(此处完整回溯): 规范模式与任何文件都不匹配。 据我了解,这意味着使用firefox配置文件的设置缺少密
问题内容: 我正在尝试使用promise进行几个AJAX调用(假设2)。基本上,我希望能够将两个响应合并在一起,对它们进行整体分析,然后吐出一个响应。现在,我有: 就目前而言,我在控制台中收到“未捕获的TypeError:对象[object Array]没有方法’done’”错误。我认为我不能使用此方法是否正确?我调查了以下来自(http://gregfranko.com/blog/jquery-
问题内容: 这是我的代码的简短版本。 这两个条件都调用。有办法避免其他情况吗?我可以,但是我正在寻找一种非阻塞的解决方案。 问题答案: 我想你在找 这是短的
问题内容: 我想做一些非常简单的事情,但是我一点都不懂… 我希望依次对funcs数组的每个元素进行“处理”,然后输出如下所示: 我无法做到这一点:(应该很简单,我什么都没发现:( 问题答案: 从您的示例来看,我认为您已经看到了Q自述文件中的Sequences部分,但未能理解它。 当每个函数的输出作为输入传递给下一个函数时,原始示例使用“瀑布”模型: 但是您只想按顺序执行我们所有的函数,因此您只需将
问题内容: 因此,我遇到了多个未知长度的promise链的情况。我希望在处理所有链条后执行一些操作。那有可能吗?这是一个例子: 在此示例中,我设置了一个承诺1,,2和3,这些承诺会在某个随机时间得到解决。然后,我将诺言添加到第一和第三的结尾。我想在所有链条都解决后解决。这是运行此代码时的输出: 有没有办法等待连锁解决? 问题答案: 当所有链条都解决后,我希望所有人解决。 当然,然后将每个链的承诺传