возвращая обещания чай, как и обещал

Я новичок в обещаниях, у меня есть следующая функция

var chai = require('chai');
var expect = chai.expect;

var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);

it('should do something with promises', function() {
    var blah = 'foo';

    var result = systemUnderTest();

    return expect(result).to.eventually.equal(blah);
});

почему ключевое слово return стоит перед expect , каково его значение и что произойдет, если мы не return


person Venkata    schedule 09.10.2017    source источник


Ответы (1)


Вы должны вернуть обещание, чтобы выполнить всю цепочку обещаний

it('should do something with promises', function() {
    const expected = "test";
    const promise = new Promise((resolve, reject) => {
        ...//Something to do
    });
    promise.then(() => {
        return expected;
    });
    return expect(promise).to.eventually.equal(expected);
});

Если вы не вернете промис, то блок then может быть выполнен после оценки ожидания;

person Troopers    schedule 10.10.2017