Я получаю неопределенное значение при прямом вызове enterUsingCSV(). Функция корректно работает при вызове внутри GetDataExcel(). Кто-нибудь может объяснить, что происходит?
////
GetDataExcel(col: number) {
this.papa.parse(this.file, {
complete: async (result: any) => {
let cc = result.data[1][col]
//console.info(cc)
return cc
}
})
}
///
enterUsingCSV(column:number){
let value = this.GetDataExcel(column)
console.info(value)
// this.enterText("username", "id", value)
}
////
e.enterUsingCSV(2);






Согласно документации, когда мы вызываем Papa.parse с локальным файлом, метод parse ничего не возвращает. Вместо этого результаты предоставляются асинхронно функции обратного вызова. Это именно то поведение, которое вы видите.
GetDataExcel(col: number) {
// The result value will always be undefined here,
// because when we pass a local file to parse,
// parse does not return anything.
const result = this.papa.parse(this.file, {
complete: async (result: any) => {
// Instead, the results are passed to this complete callback.
let cc = result.data[1][col];
console.info(cc);
// There is no point in returning cc here,
// because there is nothing waiting to receive the return value.
return cc;
}
});
}
enterUsingCSV(column:number) {
// The value here will also be undefined. There are two reasons for that.
// First, the GetDataExcel method isn't returning anything. Second, even if
// it did return the result constant, the result constant is always undefined,
// because Papa.parse does not return anything when we pass it a local file.
let value = this.GetDataExcel(column);
console.info(value);
}
e.enterUsingCSV(2);
Вот соответствующая документация:
Papa.parse(file, config)
fileis a File object obtained from the DOM.
configis a config object which contains a callback.Doesn't return anything. Results are provided asynchronously to a callback function.
Пожалуйста. Я рад, что мой ответ был полезен, и что он помог вам решить проблему. Отличная работа.
спасибо за ваш вклад, решил мою проблему с помощью GetDataExcel(col: number){ let results = this.papa.parse(this.file, {}); let f = results.data[1][col] let CombData = f return CombData }