Я использую пакет Xolvio/meteor-cucumber, и я пытаюсь вызвать метод арматуры и использовать его возвращаемое значение на этапе определении:Xolvio/метеор огурец: возвращение результата this.server.call
Шаг:
И я заполняю в смс код "#smsCodeVerification" определение
Шаг:
this.Then(/^I fill in the sms code "([^"]*)"$/, function (verificationField, callback) {
var code = this.server.call('getSmsCodeForUser', "+467*******");
console.log("step code: " + code);
this.client
.waitForExist(verificationField, 4000)
.waitForVisible(verificationField, 2000)
.setValue(verificationField, code)
.call(callback);
});
Приведенный выше код печатает:
шаг Код: [объект Promise]
Метод сервера выглядит следующим образом:
'getSmsCodeForUser': function (tel) {
var user = User.findOne({ phone: tel }),
password = Password.findOne({ user: user._id }),
code = parseInt(password.code);
return code;
}
Бревно консоль на этапе определения будет выполняться до того метод сервера завершен, и с использованием метеоров нормальный способ получения обратного вызова от методов сервера не будет работать, он будет возвращаться только неопределенным.