使用setTimeout的基本JavaScript承诺测试

珊普洛德

我正在尝试使用bluebird进行基本的诺言测试,但结果并非我所期望的。我正在尝试获取“我应该先登录吗?4000”消息,以便首先登录到我的控制台,但是总是始终先显示第二个控制台消息。我在做什么错,我该怎么办才能使“ 4000”消息在2000消息之前记录下来?

function longRunningPositiveTest3() {
    return new Promise(function(resolve) {
        setTimeout(function () {
            console.log("Should I be logged first? 4000");
            resolve();
        }, 4000);
    });
}

function longRunningPositiveTest4() {
    return new Promise(function(resolve) {
        setTimeout(function () {
            console.log("Should I be logged first? 2000");
            resolve();
        }, 2000);
    });
}

Promise.resolve(longRunningPositiveTest3())
    .then(longRunningPositiveTest4());

谢谢

贝吉

您正在调用这两个立即启动超时的函数。您需要将回调函数传递给then

使用

Promise.resolve(…) // some starting promise
.then(longRunningPositiveTest3)
.then(longRunningPositiveTest4);

或者

longRunningPositiveTest3() // no need to wrap it in Promise.resolve() (but no harm either)
.then(longRunningPositiveTest4);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用setTimeout的基本JavaScript承诺测试

来自分类Dev

JavaScript承诺和setTimeout

来自分类Dev

无法使用setTimeout解决承诺

来自分类Dev

使用setTimeout解决或拒绝承诺

来自分类Dev

使用setTimeout测试IIFE

来自分类Dev

如何使用Jasmine 2.4.1(独立)设置基本的Javascript测试?

来自分类Dev

使用setTimeout()暂停Mocha测试

来自分类Dev

使用setTimeout()暂停Mocha测试

来自分类Dev

什么是使用简单的“ setTimeOut”功能暂停基本滑块的正确jQuery(或JavaScript)代码?

来自分类Dev

具有setTimeout的JavaScript承诺按顺序解析

来自分类Dev

使用Jasmine 2.4。*测试返回承诺的服务

来自分类Dev

使用 JUnit 测试 DynamoDB 获得承诺

来自分类Dev

如何在使用redux的获取承诺中添加setTimeout?

来自分类Dev

承诺不使用 setTimeOut 从递归函数中解析

来自分类Dev

Ava 使用承诺测试图像加载:测试返回的承诺从未解决

来自分类Dev

FCC基本JavaScript:测试对象的属性

来自分类Dev

承诺中的角度测试承诺

来自分类Dev

setTimeout并使用javascript重定向

来自分类Dev

使用SetTimeout()的JavaScript画布动画

来自分类Dev

使用Webstorm进行基本的Jasmine测试设置

来自分类Dev

如何使用$ httpBackend单元测试angularjs承诺链

来自分类Dev

如何使用Jasmine在AngularJS中测试.catch承诺返回?

来自分类Dev

如何使用Jasmine测试AngularJS承诺返回的内容?

来自分类Dev

使用Jasmine从API进行单元测试承诺

来自分类Dev

使用superagent +的Mocha测试承诺超时,而不是因“期望”而失败

来自分类Dev

使用异步Ajax调用的Sinon / Mocha测试未返回承诺

来自分类Dev

Node.js - 如何使用承诺测试 HTTPS 请求

来自分类Dev

使用数据获取不解决承诺的反应测试

来自分类Dev

Javascript 使用 async/await 传递/链接承诺

Related 相关文章

  1. 1

    使用setTimeout的基本JavaScript承诺测试

  2. 2

    JavaScript承诺和setTimeout

  3. 3

    无法使用setTimeout解决承诺

  4. 4

    使用setTimeout解决或拒绝承诺

  5. 5

    使用setTimeout测试IIFE

  6. 6

    如何使用Jasmine 2.4.1(独立)设置基本的Javascript测试?

  7. 7

    使用setTimeout()暂停Mocha测试

  8. 8

    使用setTimeout()暂停Mocha测试

  9. 9

    什么是使用简单的“ setTimeOut”功能暂停基本滑块的正确jQuery(或JavaScript)代码?

  10. 10

    具有setTimeout的JavaScript承诺按顺序解析

  11. 11

    使用Jasmine 2.4。*测试返回承诺的服务

  12. 12

    使用 JUnit 测试 DynamoDB 获得承诺

  13. 13

    如何在使用redux的获取承诺中添加setTimeout?

  14. 14

    承诺不使用 setTimeOut 从递归函数中解析

  15. 15

    Ava 使用承诺测试图像加载:测试返回的承诺从未解决

  16. 16

    FCC基本JavaScript:测试对象的属性

  17. 17

    承诺中的角度测试承诺

  18. 18

    setTimeout并使用javascript重定向

  19. 19

    使用SetTimeout()的JavaScript画布动画

  20. 20

    使用Webstorm进行基本的Jasmine测试设置

  21. 21

    如何使用$ httpBackend单元测试angularjs承诺链

  22. 22

    如何使用Jasmine在AngularJS中测试.catch承诺返回?

  23. 23

    如何使用Jasmine测试AngularJS承诺返回的内容?

  24. 24

    使用Jasmine从API进行单元测试承诺

  25. 25

    使用superagent +的Mocha测试承诺超时,而不是因“期望”而失败

  26. 26

    使用异步Ajax调用的Sinon / Mocha测试未返回承诺

  27. 27

    Node.js - 如何使用承诺测试 HTTPS 请求

  28. 28

    使用数据获取不解决承诺的反应测试

  29. 29

    Javascript 使用 async/await 传递/链接承诺

热门标签

归档