2015-07-10 5 views
0

Я использую пакет 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; 
    } 

Бревно консоль на этапе определения будет выполняться до того метод сервера завершен, и с использованием метеоров нормальный способ получения обратного вызова от методов сервера не будет работать, он будет возвращаться только неопределенным.

ответ

1
this.server.call('getSmsCodeForUser', "+467*******").then(function(resopnse) { 

    // you can use the response here 

}); 
Смежные вопросы