Tôi gọi một hàm với một callback như thế này:Tại sao gọi lại tôi nói "không xác định không phải là một chức năng
$(function() {
//get all the items
search.init('.result tbody tr');
search.parseresults(function(announcementID){
//query every single page
var myCompany = new company(announcementID);
myCompany.requestPage(function(){
//on response parse the data.
myCompany.parsedata()
var myPerson = new person(myCompany)
myPerson.getPhone(function(){
console.log('test')
});
})
});
});
Đó là callback ngoái với console.log ('test') đó là . vấn đề
đây là getPhone chức năng:
person.prototype.getPhone = function(callback){
this.attempt++
if(this.attempt === 1){
var who = this.lastname;
var where = this.adress+' '+this.postal;
}else if(this.attempt === 2){
var who = this.firstname+' '+this.lastname;
var where = this.adress+' '+this.postal;
}else{
var who = this.firstname+' '+this.lastname;
var where = this.adress+' '+this.postal;
var url = 'http://personer.eniro.se/resultat/'+who+'/'+where;
console.debug('')
//console.debug('fail')
console.debug(url)
console.debug(this)
return
}
var self = this;
var url = 'http://personer.eniro.se/resultat/'+who+'/'+where;
GM_xmlhttpRequest({
method: "GET",
url: url,
onload: function(data) {
data = $.parseHTML(data.response);
var vCard = $(data).find('.vcard')
if (vCard.length === 1){
var phone = vCard.find('.tel.row a').map(function(){
return this.text
}).get()
self.officePhone = phone[0];
if(phone.length > 1){
self.mobilePhone = phone[1];
}else{
self.mobilePhone = '';
}
callback();
} else if(vCard.length > 1){
self.getPhone()
}
}
})
}
các callback được kích hoạt khi nó nghĩ đến Nhưng khi gọi lại là hiện tại tôi nhận được lỗi:.
undefined is not a function
Bạn có thể đơn giản hóa mã của bạn để bỏ qua các chi tiết không liên quan? Rất có thể, bạn sẽ tìm thấy vấn đề của bạn mình :) – andreister