Я пытаюсь сделать два асинхронных вызова в одном наборе тестов жасмина. Второй вызов должен дождаться завершения первого, а затем сделать вызов. Так простая установка:Несколько асинхронных вызовов в jasmine 1.3
it('async tests', function(){
runs(function() {
flagToServer = false;
flagFromServer = false;
value1 = 0;
value2 = 0;
dataToGet = "";
dataToSend = "";
setTimeout(function() {
flagFromServer = true;
data = getDataFromServer();
}, 500);
});
waitsFor(function() {
value1++;
return flag;
}, "The Value should be incremented", 750);
runs(function() {
expect(value1).toBeGreaterThan(0);
expect(data).toBe(expectedData);
});
//second async call to server;
runs(function() {
dataToSend = manipulate(dataToGet);
setTimeout(function() {
sendDataToServer(dataToSend);
flagToServer = true;
}, 500);
});
waitsFor(function() {
value2++;
return flagToServer;
});
runs(function() {
expect(value2).toBeGreaterThan(0);
expect(eventFromServer).toBe('got data');
});
});
Можно ли сделать что-то выше? Я не мог найти использование, когда несколько блоков ожидания/запуска используются вместе. Это правильный способ проверить несколько асинхронных вызовов один за другим?