Xolvio/meteor-cucumber:返回this.server.call的结果
Xolvio/meteor-cucumber: returning result of this.server.call
我正在使用包 Xolvio/meteor-cucumber,我正在尝试调用固定方法并在步骤定义中使用其 returned 值:
步骤:
And I fill in the sms code "#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);
});
以上代码打印:
step code: [object Promise]
服务器方法如下所示:
'getSmsCodeForUser': function (tel) {
var user = User.findOne({ phone: tel }),
password = Password.findOne({ user: user._id }),
code = parseInt(password.code);
return code;
}
步骤定义中的控制台日志将 运行 在服务器方法完成之前,使用流星从服务器方法获取回调的正常方式将不起作用,它只会 return未定义。
this.server.call('getSmsCodeForUser', "+467*******").then(function(resopnse) {
// you can use the response here
});
我正在使用包 Xolvio/meteor-cucumber,我正在尝试调用固定方法并在步骤定义中使用其 returned 值:
步骤:
And I fill in the sms code "#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);
});
以上代码打印:
step code: [object Promise]
服务器方法如下所示:
'getSmsCodeForUser': function (tel) {
var user = User.findOne({ phone: tel }),
password = Password.findOne({ user: user._id }),
code = parseInt(password.code);
return code;
}
步骤定义中的控制台日志将 运行 在服务器方法完成之前,使用流星从服务器方法获取回调的正常方式将不起作用,它只会 return未定义。
this.server.call('getSmsCodeForUser', "+467*******").then(function(resopnse) {
// you can use the response here
});