请大佬帮忙分析一下,以下代码执行顺序(正确的顺序是:a 1 2 3 b 4 c 5):
Promise.resolve() .then(() => { console.log('a'); return new Promise(res => res()); }) .then(() => { console.log('b'); }) .then(() => { console.log('c'); });Promise.resolve() .then(() => { console.log(1); }) .then(() => { console.log(2); }) .then(() => { console.log(3); }) .then(() => { console.log(4); }) .then(() => { console.log(5); });
参考
https://segmentfault.com/q/1010000039387146
https://www.zhihu.com/question/453677175
记住return Promise.resolve()
、 return new Promise(resolve => { reolve() })
与 return new Promise(resolve => { reolve() }).then(res => {return res})
这三个返回值会卡两次
以下是对你提供的 JavaScript 代码的执行顺序的分析:
这段代码中,你使用了 Promise 的 then
方法来添加多个回调函数,这些回调函数会在 Promise 解析(resolved)后依次执行。
当 Promise 被解析后,会立即执行第一个 .then()
中的回调函数,然后是第二个,以此类推。
在你提供的代码中,第一个 Promise 被解析后,执行的顺序是:
.then()
中的回调函数).then()
中的回调函数).then()
中的回调函数)接着,第二个 Promise 被解析,执行的顺序是:
所以,正确的执行顺序应该是:a, b, c, 1, 2, 3, 4, 5。
我有一个vue写的标签 其中,queryByPrimaryKey返回的是一个promise,所以这里用await等待promise的值,因为用到了await,所以外层又需要用async包裹,这样整体函数返回的又是一个promise,那么src属性实际上要的是返回的string值,而不是包裹着string的promise,我如何拿到string值?
第一个问题,这个为什么先输出3后输出2呢 第二个问题,这个为什么会交错输出呢,142536 promise小白一枚,上述两个疑问,希望能得到详细的解答
请问上面这段代码,我想封装成Promise 这种 直接调用this.home_barlist1().then 该怎么改呢? 我改成下面这样 好像不行
怎么替换成红色的值 对象可能有多个
打印2的位置 怎么解释呢
问题内容: 我是一个node.js新手,我试图了解如何以非阻塞方式像节点一样组织一些逻辑。 我有一组环境[‘stage’,’prod’],还有另一组称为品牌[‘A’,’B’,’C’]的参数和一组设备[‘phone’,’tablet’] 。 在节点的回调驱动的世界中,我有这个: 我正在尝试为每个环境构建带有块的报告: 我的问题是,由于这里的所有内容都是如此异步的,尤其是在getTape内部,它调用了