我似乎無法理解回調的概念。在我忍受之前,我沒有和他們一起工作過。爲了讓我的手變溼,我試圖用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