首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

等待的承诺在继续之前不等待resolve()

这个问答内容涉及到Promise对象的相关概念和用法。在JavaScript中,Promise是一种用于处理异步操作的对象,它可以将异步操作的结果以同步的方式进行处理和使用。

具体回答如下:

问题:等待的承诺在继续之前不等待resolve()

答案:这个问题涉及到Promise对象的特性。在使用Promise时,当我们调用一个返回Promise对象的函数时,可以通过调用Promise的then方法来注册一个回调函数,该回调函数会在Promise对象的状态变为resolved(已完成)时被调用。而在调用then方法之前,Promise对象的状态可能还是pending(进行中),即异步操作尚未完成。

根据Promise的特性,当我们调用then方法时,如果Promise对象的状态已经是resolved,那么回调函数会立即被调用;如果Promise对象的状态还是pending,那么回调函数会被添加到Promise对象的回调队列中,等待异步操作完成后再被调用。

因此,根据问题的描述,"等待的承诺在继续之前不等待resolve()",可以理解为在调用then方法之前,不会等待Promise对象的状态变为resolved,而是立即继续执行后续的代码。

这种行为在某些情况下可能是有意义的,比如在处理多个异步操作时,我们可能希望尽早执行后续的代码,而不必等待所有异步操作都完成。但在其他情况下,我们可能需要确保所有的异步操作都已完成后再执行后续的代码。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数(云原生应用开发):https://cloud.tencent.com/product/scf
  • 腾讯云数据库(数据库服务):https://cloud.tencent.com/product/cdb
  • 腾讯云服务器(云服务器):https://cloud.tencent.com/product/cvm
  • 腾讯云CDN(内容分发网络):https://cloud.tencent.com/product/cdn
  • 腾讯云安全产品(网络安全):https://cloud.tencent.com/product/saf

请注意,以上链接仅为示例,实际使用时应根据具体需求选择适合的腾讯云产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何序列化Js中并发操作:回调,承诺和异步等待

(并发执行代码结果) 我们通过调用asyncTask来模拟我们操作,它使用setTimeout完成任务之前等待1到3秒,然后调用taskDone 下面是一个典型输出(每次运行代码时实际顺序都会改变...接下来,我们将等待异步操作结果,而不是承诺 await会自动等待函数返回promise来自行解析。它像我们今天看到所有代码一样是非阻塞,所以其他东西可以等待表达式同时运行。...然而,promise等待解决之前,下一行代码将不会运行。...async / await可以使用标准同步语法来处理由异步代码产生任何错误 结束这篇文章之前,我想我只是添加一些代码来表明真的是非阻塞。...Returning from async "Run Tests" tick tick Completed async "Run Tests" 我们可以确认计时器我们等待任务时继续运行 使用await

3.2K20

你一天奔跑,等待就是灭亡

从这个我们看出这个是可怕,简直是灾难性,因为你只要稍有放松,停止一步就会很危险,因此只要你进入这个行业,你只能不停奔跑,不停创新,不停革命。...就算是这些行内老大巨头,也都是不敢有任何放松机会,马云也好,马化腾也罢,这些人无不例外都是大量并购与投资,因为稍有不慎,就会被别人打败,仿佛诺基亚,摩托罗拉这样公司就在眼前。...我们身处在一个快速发展时代 传统行业里,基本上都是老大说了算,整个行业都是固定,一个小公司很难去挑战大公司也基本上不可能,但是科技行业内是不同,一个小公司可以迅速成长为一个巨大公司,这两年我们也知道来一个新词...以前看来这是不可能,比如:拼多多 3 年内可以创造出几百亿美金市值公司,有些传统行业发展几十年也远不及此,再比如滴滴,美团,都是短短几年间发展成为了一个行业巨头。...这里有个数据:拼多多用 3 年完成了京东 10 年,淘宝 5 年才实现成绩,这些以前我们都是无法想象

68120
  • 【DB笔试面试652】Oracle中,等待事件有哪些常见分类?常见等待事件有哪些?

    ♣ 题目部分 Oracle中,等待事件有哪些常见分类?常见等待事件有哪些?...♣ 答案部分 等待事件概念大概是从Oracle 7.0.12中引入,刚引入时候大约有100多个等待事件,Oracle 8.0中这个数目增大到了大约150个,Oracle 8i中大约有220个事件...,Oracle 9i中大约有400多个等待事件,Oracle 10gR2中,大约有800多个等待事件,Oracle 11gR2中约有1000多个等待事件。...(1)空闲等待事件指Oracle正等待某种工作,诊断和优化数据库时候,不用过多注意这部分事件。...(2)非空闲等待事件专门针对Oracle活动,指数据库任务或应用运行过程中发生等待,这些等待事件是调整数据库时候需要关注与研究

    84410

    【DB笔试面试653】Oracle中,请列举一次等待事件处理案例。

    ♣ 题目部分 Oracle中,请列举一次等待事件处理案例。 ♣ 答案部分 对于这道面试题而言,每个人遇到情况不一样,答案也就不一样。...只需要列举自己曾经碰到情况,然后讲述明白即可,下面作者给出自己曾经碰到一个案例及其处理过程。 开发人员反馈数据库运行很慢,让帮忙查查原因,那首当其冲就是看主机情况了。...可以看到该会话等待事件是enq: PS - contention,并且有相关SQL和OSUSER,可以联系到当时开发人员,据说由于该SQL已经运行了1个小时了还没有运行结束,所以,就使用了CTRL...通过这个小改动,效率有明显提升,原来花费1小时都没有运行出结果,而通过优化后,6秒就得到了运行结果。 查询MOS文档,可知该等待事件是由BUG引起,最好办法就是优化SQL。...& 说明: 有关等待事件更多处理案例可以参考作者BLOG:http://blog.itpub.net/26736162/viewspace-2123996/、http://blog.itpub.net

    90710

    WPFUWP 中实现一个可以用 await 异步等待 UI 交互操作 Awaiter

    实战篇: WPF/UWP 中实现一个可以用 await 异步等待 UI 交互操作 Awaiter .NET 编写一个可以异步等待循环中任何一个部分 Awaiter 本文阅读建议 本文代码较多,阅读建议...某个函数执行需要显示一个用户控件,用户填写控件中信息并确定后,函数才继续执行。这种感觉很像模态窗口,但我们却是同一个窗口内实现,不能通过模态窗口来实现我们功能。...UI 线程里执行 async/await 代码 await 异步等待之后能够继续回到此 UI 线程,而不是随便从线程池找一个线程执行。...如果我们实现是本文开头第一个需求,需要等待用户输入完信息点击确认后才继续,那么这个 WaitOne 则可能会等非常久时间(取决于用户心情,啥时候想点确定啥时候才结束)。...那么开始,既然要去掉 Task.Run,那么我们需要在后台线程真正完成任务时候自动去执行接下来任务,而不是调用线程中去等待

    3.4K31

    《你不知道JavaScript》:深入理解Promise机制

    在这个API面世之前,js开发者写异步代码主要用是“回调函数”。但回调地狱什么,想必有过经历都懂,难写难看难维护,真是不想看第二眼。所以Promise出来后备受欢迎。...当我下决心并把Promise真正弄懂之后,恨不得抱着Promise亲两口,把垃圾回调一脚踢到天涯海角去,唔,那种心情想必有过经历也懂,哈哈~~~ 开始看Promise代码之前,先拿一个实际生活案例来对...点菜就是一个请求过程,菜品账单就是一个承诺,保证最终会得到那些菜。所以得保存好菜品账单,这代表未来菜品,所以此时无需担心。等菜过程中你可以和妹子在位子上讲话增进感情了。...promise,继续链式调用then()来等待返回新promise 53.then(function (sum) { 54 console.log(sum); 55}) xPromise()和yPromise...catch中,而写在then()里面。

    57540

    Visual Studio 2019 (16.5) 中查看托管线程正在等待锁被哪个线程占用

    功能入口 这个功能没有新入口,你可以“调用堆栈” (Call Stack) 窗口,“并行堆栈” (Parallel Stacks) 窗口,以及“线程”窗口位置列中查看哪个托管线程正在持有 .NET...随后我们 Visual Studio 中点击“全部中断”,也就是那个“暂停”图标的按钮。 ?...打开调用堆栈窗口(“调试 -> 窗口 -> 调用堆栈”),可以看到堆栈最顶端显示了正在等待锁,并且指出了线程对象。 ?...然后在线程窗口(“调试 -> 窗口 -> 线程“)位置列,鼠标移上去可以看到与堆栈中相同信息。 ? 当然,我们主线程实际上早已直接退出了,所以正在等待锁将永远不会释放(除非进程退出)。...同样信息,并行堆栈(“调试 -> 窗口 -> 并行堆栈”)中也能看到。 ?

    2.1K10

    手写系列-这一次,彻底搞懂 Promise

    那么这个买汉堡得到承诺会有以下 3 种状态: 等待状态:我刚下单,汉堡还没做好,这时我可以等待汉堡时,同时做其他事情; 成功状态:汉堡做好了,通知我取餐; 失败状态:发现卖完了,通知我退款; 需要注意是...,状态修改是不可逆,当汉堡做好了,承诺兑现了,就不能再回到等待状态了。...总结一下,Promise 就是一个承诺承诺会给你一个处理结果,可能是成功,可能是失败,而返回结果之前,你可以同时做其他事情。...多次调用 then then 可以同一个承诺上多次调用。...如果参数是 promise 会等待这个 promise 解析完毕,向下执行,所以这里需要在原来 resolve 方法中做一个小小处理: // 修改 Promise 状态,并定义成功返回值 resolve

    20330

    手写系列-这一次,彻底搞懂 Promise

    那么这个买汉堡得到承诺会有以下 3 种状态: 等待状态:我刚下单,汉堡还没做好,这时我可以等待汉堡时,同时做其他事情; 成功状态:汉堡做好了,通知我取餐; 失败状态:发现卖完了,通知我退款; 需要注意是...,状态修改是不可逆,当汉堡做好了,承诺兑现了,就不能再回到等待状态了。...总结一下,Promise 就是一个承诺承诺会给你一个处理结果,可能是成功,可能是失败,而返回结果之前,你可以同时做其他事情。...多次调用 then then 可以同一个承诺上多次调用。...如果参数是 promise 会等待这个 promise 解析完毕,向下执行,所以这里需要在原来 resolve 方法中做一个小小处理: // 修改 Promise 状态,并定义成功返回值 resolve

    37030

    javascript异步与promise

    ,就要考虑一些不可控因素 调用回调过早 调用回调过晚(或不被调用) 调用回调次数过多或者过少 promise存在就是为了解决以上问题 虽然我们日常写回调函数不会有这么严格要求,但是如果这样去写回调函数...到这里,收据就是一个承诺(promise),保证我最后能得到汉堡。...所以我需要好好保留这个收据,对我来说,收据就是汉堡,虽然这张收据不能吃,我需要等待汉堡做好,等待收银员叫号通知我 等待过程中,我可以做些别的事情 收银员终于叫到了我号,我用收据换来了汉堡 当然还有一种情况...,当我去柜台取汉堡时候,收银员告诉我汉堡卖光了,做汉堡师傅受伤了等等原因,导致了我无法得到这个汉堡 虽然我有收据(承诺),但是可能得到汉堡(成功),可能得不到汉堡(失败) 我由等待汉堡变成了等到或者等不到...(s => console.log(s)); console.log('我主线程'); 成功状态输出 //我主线程 //成功啦 成功状态下回调被调用 继续看一下失败回调 const

    90440

    JavaScript中Promise里代码为什么比setTimeout先执行?

    宏观和微观任务 JavaScript 引擎等待宿主环境分配宏观任务,操作系统中,通常等待行为都是一个事件循环,所以 Node 术语中,也会把这个部分称为事件循环。...Promise Promise 是 JavaScript 语言提供一种标准化异步管理方式,它总体思想是,需要进行 io、等待或者其它异步操作函数,返回真实结果,而返回一个“承诺”,函数调用方可以合适时机...,选择等待这个承诺兑现(通过 Promise then 方法回调)。...进入 console.log(“b”) 之前,毫无疑问 r 已经得到了 resolve,但是 Promise resolve 始终是异步操作,所以 c 无法出现在 b 之前。...async 函数是一种特殊语法,特征是 function 关键字之前加上 async 关键字,这样,就定义了一个 async 函数,我们可以在其中使用 await 来等待一个 Promise。

    86620

    JavaScript执行(一):Promise里代码为什么比setTimeout先执行?

    宏观和微观任务 JavaScript 引擎等待宿主环境分配宏观任务,操作系统中,通常等待行为都是一个事件循环,所以 Node 术语中,也会把这个部分称为事件循环。...Promise Promise 是 JavaScript 语言提供一种标准化异步管理方式,它总体思想是,需要进行 io、等待或者其它异步操作函数,返回真实结果,而返回一个“承诺”,函数调用方可以合适时机...,选择等待这个承诺兑现(通过 Promise then 方法回调)。...进入 console.log(“b”) 之前,毫无疑问 r 已经得到了 resolve,但是 Promise resolve 始终是异步操作,所以 c 无法出现在 b 之前。...async 函数是一种特殊语法,特征是 function 关键字之前加上 async 关键字,这样,就定义了一个 async 函数,我们可以在其中使用 await 来等待一个 Promise。

    59310

    JavaScript中Promises

    你有没有JavaScript中遇到过promises并想知道它们是什么?它们为什么会被称为promises呢?它们是否和你以任何方式对另一个人做出承诺有关呢?...JavaScript中,promise工作方式和现实生活中承诺一样。...JavaScript中,我们说承诺(promise)正在等待中(pending)。如果你console.log一个promise对象,就可以验证这点。...打印jeffBuysCake表明承诺正在等待中。 当我们稍后一起构建jeffBuysCake时,你将能够自己证明此console.log语句。 与Jeff交谈之后,你开始计划下一步。...(该死,Jeff!)。如果发生这种情况,我们会说承诺被拒绝(rejected)了。 当承诺被拒绝了,你可以.catch调用中执行应急计划。

    79420

    【译】JavaScript中Promises

    你有没有JavaScript中遇到过promises并想知道它们是什么?它们为什么会被称为promises呢?它们是否和你以任何方式对另一个人做出承诺有关呢?...JavaScript中,promise工作方式和现实生活中承诺一样。...JavaScript中,我们说承诺(promise)正在等待中(pending)。如果你console.log一个promise对象,就可以验证这点。...与Jeff交谈之后,你开始计划下一步。你意识到如果Jeff信守诺言,并在聚会时买来一个黑森林蛋糕,你就可以按照计划继续派对了。...(该死,Jeff!)。如果发生这种情况,我们会说承诺被拒绝(rejected)了。 当承诺被拒绝了,你可以.catch调用中执行应急计划。

    1.4K20

    Promise 和 AsyncAwait区别

    免费体验 Gpt4 plus 与 AI作图神器,我们出钱 体验地址:体验 如果你正在阅读这篇文章,你可能已经理解了 promise 和 async/await 执行上下文中不同之处。... async/await 中, async 关键字用于声明异步函数。 await 关键字用于继续执行函数之前等待承诺解析。 await 关键字只能在 async 函数中使用。...当创建 Promise 并启动异步操作时,创建 Promise 后代码会继续同步执行。当 Promise 被解析或拒绝时,附加回调函数会被添加到微任务队列中。...微任务队列会在当前任务完成后,但在下一个任务从任务队列中处理出来之前进行处理。这意味着创建 Promise 之后任何代码都将在执行附加到 Promise 回调函数之前执行。...当 async 函数等待 Promise 解析时,它不会阻塞调用栈,因此可以执行任何其他同步代码。一旦 Promise 解析完毕, async 函数将继续执行,并返回 Promise 结果。

    33410

    JUC深入面试题——三种方式实现线程等待和唤醒(waitnotify,awaitsignal,LockSupportparkunpark)

    一、前言 多线程场景下,我们会经常使用加锁,来保证线程安全。如果锁用不好,就会陷入死锁,我们以前可以使用Objectwait/notify来解决死锁问题。...也可以使用Conditionawait/signal来解决,当然最优还是LockSupportpark/unpark。他们都是解决线程等待和唤醒。下面来说说具体优缺点和例子证明一下。...调用unpark(thread)方法后,就会将thread线程许可permit设置成1(注意多次调用unpark方法,不会累加,pemit值还是1)会自动唤醒thead线程,即之前阻塞中LockSupport.park...与前两者比优点 park/unpark不需要在同步块或者方法内才能执行,解决了上面两种不在同步块或者方法就报错情况。 park/unpark不需要先执行park,执行unpark,无需在意顺序。...此时A线程开始,来到第一个park,permit消耗后为0,为0是阻塞,等待unpark,此时没有unpark了,所以一直陷入阻塞。

    68520

    扒一扒PROMISE原理,大家不要怕!

    : 我们最常用异步操作应该是ajax了(想当初我第一次用ajax时候,简直就是灾难。明明资源加载成功了,怎么就是没有调到资源中数据呢?真令人头大啊。),只能等待加载完毕,再执行相关操作才能成功。...简洁了不少,至少不会被里三层外三层括号弄晕。 但是当初我听到promise时候,我内心是拒绝。虽然内心拒绝,但是该来还是要来,该学还是要学,毕竟时代进步,与时俱进还是很必要!...: 假定 Mary 和 Mike 是一对情侣,半年前,Mike 向 Mary 承诺(promise)半年内完成他们婚礼,但是直到现在 Mike 也没有做出行动,因此 Mary 表示她不会一直等待(pending...所以说,所有的promise都有一个结果状态——实现(fulfilled)或者拒绝(rejected),而结果出来之前状态就是等待(pending)。...//继续遍历,直至返回值不是promise resolvePromise(promise,y,resolve,reject) },err=>{

    62620

    使用图解和例子解释Await和Async

    我们开始之前,让我们从一个Promise简要概述开始。 如果您已经了解了JSPromise,请随时跳过本节。...更确切地说,任何承诺之后代码都是与Promise同时运行Promise完成之前,我们没有任何合理理由阻止当前操作顺序。...Promise完成之后执行代码唯一方法是通过then方法传入回调函数。 下图描绘了该示例计算过程: ? Promise计算过程。 调用“线程”不能等待Promise。...不允许等待承诺鼓励开发非阻塞代码。 否则,开发人员将被诱惑执行封锁操作,因为它比使用承诺和回调更容易。 当我们创建Promise时,我们无法同步等待完成。 我们只能通过一个回调。...因此,JavaScript解释器知道async函数中所有操作都将被封装在Promise中并异步运行。 所以可以让他们等待其他Promise完成之后再继续执行。 当我们使用await关键字。

    1.4K20

    Node.js中常见异步等待设计模式

    Node.js中异步/等待打开了一系列强大设计模式。现在可以使用基本语句和循环来完成过去采用复杂库或复杂承诺链接任务。...,并返回一个承诺等待数组中每个承诺解析,然后解析为一个数组,该数组包含解析原始数组中每个承诺值。...Promise.all()并不是您可以并行处理多个异步函数唯一方式,还有一个Promise.race()函数可以并行执行多个promise,等待第一个解决承诺并返回承诺解决值。...)第一个承诺解决后解决,但其余async功能仍然继续执行。...请记住,承诺不可取消。 继续 异步/等待是JavaScript巨大胜利。使用这两个简单关键字,您可以从代码库中删除大量外部依赖项和数百行代码。

    4.7K20
    领券