我似乎无法理解回调的概念。在我忍受之前,我没有和他们一起工作过。为了让我的手变湿,我试图用zombie.js登录到twitter。Node.js回调
下面是一个例子:
var Browser = require("zombie");
var browser = new Browser({ debug: true})
browser.visit("https://mobile.twitter.com/session/new", function (callback) {
browser.fill("username", "xxxxx");
browser.fill("password", "xxxxx");
browser.pressButton("Sign in", function (err, success) {
if(err){
console.log(browser.text('.message'));
console.log('There has been a error: ' + err);
}
else{
console.log('Worked!');
}
});
});
在browser.pressButton部分,这将决定我是否已经能够成功登录与否,取决于是否.message
包含文本“打字您的手机臭,我们知道!请仔细检查您的用户名和密码,然后重试。“
但是,我不明白它是如何决定触发回调err
。如果.message
不存在于html中,那么我想触发成功回调以转到下一个函数。
谢谢,彼得!伟大的回应..所以我应该做的是检查登录失败并调用一个函数? loginFailed() - >哪个console.log的输出失败 – 2012-07-10 04:26:15
对。在这种情况下,不正确的凭证仍然会导致HTTP 200 OK响应(就僵尸而言是成功的),所以当'pressButton'完成时,您需要确定您是刚刚获得主页(成功)还是仍然在登录页面上显示错误消息(失败)。你可以通过检查文档并记录它的任何部分对你有意思。 – 2012-07-10 04:59:29