Как использовать функцию обратного вызова для отображения всего месяца с помощью метода карты javascript - PullRequest
0 голосов
/ 03 августа 2020

Я новичок в javascript. Я хочу понять больше Функция обратного вызова , потому что я потратил много времени на изучение этой функции, но еще не понял ее.

Это мой код. Я хочу создать новую функцию (обратный вызов), чтобы продолжить этот код и показать весь месяц, используя метод map

const getmonth = (callback) => {
    setTimeout(() => {
        let error = true;
        let month = ["January","February","March","April","Mey","Juny","July","August","September","October","November","Desember"];
        if(!error) {
            callback(null, month)
        } else {
            callback(new error("Data gak ketemu", []))
        }
    }, 4000)
}

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Обратный вызов - это функция, которая передается другой функции в качестве аргумента. Например:

function sayHello(callback) {
  console.log('Hi everyone');
  setTimeout(function(){
    callback(); // execution your function with 3 seconds delay
  }, 3000);
}

В вашем случае (я не использую стрелочные функции, чтобы вам было легче понять):

// Lets create a function, which will just print month which is passed as an argument
const printMonth = function(month) {
  console.log(month);
}

// Now we are using map function
// https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/Array/map

month.map(function(month) {
  console.log(month); 
});

Функция map принимает другой функция в качестве аргумента (она называется обратным вызовом), и в этой функции вы можете делать все, что хотите, с каждым отдельным элементом массива. Вы также можете использовать return для возврата нового массива с измененными его элементами.

0 голосов
/ 03 августа 2020

обратных вызовов часто используются для продолжения выполнения кода после завершения асинхронной операции.

подробнее о функциях обратного вызова

Вы можете создать функцию обратного вызова в своем коде следующим образом .

getmonth((err,data)=>{
    if(!err){
        data.map(month =>month);
    }
    return err;
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...