Только начал изучать JavaScript, требуется Ваша помощь:
describe('Test Suite #1', function(){
it('Check URL Errors', function()
{
assert.equal(checkStatusCode(URL), true);
});
});
Проблема с assert.equal(...), суть в том, что сравнение выполняется до того как закончит выполняться функция. Вопрос как обойти этом момент? Как вообще решаются подобные моменты, когда мне нужно получить результат функции, а потом уже с ним совершать какие-либо действия? Нужны ли для этого promiseили есть другие варианты?
Спасибо!
@vp_arth, а не подскажете на примере, как из этого сделать nodejs-style функцию с callback ?
function checkStatusCode(url, cb){
if (url == 'right url'){
cb(null, true);
}
else{cb(null, false);}
}
Асинхронные тесты в mocha пишутся довольно просто:
describe('Test Suite #1', function(){
it('Check URL Errors (promise-style function)', function(done) {
checkStatusCode(URL)
.then(function(res) {
assert.equal(res, true);
done();
});
});
it('Check URL Errors (nodejs-callback style function)', function(done) {
checkStatusCode(URL, function(err, res) {
if (err) done(err);
assert.true(res);
done();
});
});
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости