gpt4 book ai didi

Javascript Kriskowal Q JS promise 不起作用

转载 作者:行者123 更新时间:2023-12-02 16:08:30 25 4
gpt4 key购买 nike

我使用 kriskowal/q 模块创建了一个 promise ,但是当我尝试使用它时,它不会进入任何函数,无论是快乐路径还是错误路径。

这是我的 promise 创建类

var Q = require('q');

var Test = function () {

};

Test.prototype = (function () {
var testt = function () {
var deferred = Q.defer();
var x = 5;
if (x === 5){
deferred.resolve('resolved');
}else{
deferred.error(new Error('error'));
}
return deferred.promise;
};
return {
testt : testt
}
}());

module.exports = Test;

这就是我将如何使用它

var Test = require('../src/js/test.js');

describe("Test", function () {
"use strict";

var test = null;

beforeEach(function () {
test = new Test();
});

it("should return the promise", function () {
test.testt().then(
function (a) {
console.log(a);
},
function (b) {
console.error(b);
}
);
});
});

由于这是一个 Jasmine 测试类,如果您不熟悉 Jasmine ,那么“it”函数内部的内容就是我如何使用 promise 的逻辑。 “testt”是我创建 promise 的函数。为了获得更多说明,我附上了完整的代码。

问题:它不打印 a 或 b

最佳答案

您的it将立即完成,而不是在 promise 解决/拒绝之后完成。

it("should return the promise", function (done) {
test.testt().then(
function (a) {
console.log(a);
done();
},
function (b) {
console.error(b);
done();
}
);
});

参见here了解更多信息。

关于Javascript Kriskowal Q JS promise 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com