问题描述
[TypeError: callback is not a function. (In 'callback(true,result)','callback' is undefined)]
函数是这样的:
export function searchEvent(categories,privateEvent,eventName,eventCity,eventHourStart,eventHourFinish,eventDayStart,eventDayFinish,callback) {
return async () => {
try {
const ref = firestore().collection('events');
if (categories.length > 0) {
const promises = [];
const allData = [];
categories.forEach(e => {
let query = ref.where(e.field,'==',e.value);
if (privateEvent) {
query = ref
.where(e.field,e.value)
.where('isPrivateEvent',true);
}
const promise = query.get().then(response => {
const data = response.docs.map(d => d.data());
let result = data;
...
allData.push(...result);
}).catch(error => {
console.log(error);
});
promises.push(promise);
});
console.log(allData);
Promise.all(promises).then(() => {
callback(true,allData);
});
} else {
let query = ref;
if (privateEvent) {
query = ref.where('isPrivateEvent',true);
}
query.get().then(response => {
const data = response.docs.map(d => d.data());
let result = data;
...
console.log(result);
callback(true,result);
}).catch(error => {
console.log(error);
});
}
} catch (e) {
console.log(e);
}
};
}
但是,我很确定我正在向上述函数传递回调,就像这样:
dispatchSearchEvent(categories,name,city,hourstart,hourfinish,daystart,dayfinish,(s,r) => {
...
});
那么,为什么当我明显地将回调传递给它以使其起作用时,为什么告诉我“回调”不是一个函数? 在涉及react-redux方面,我仍然是一个新手,因此将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)