@ClaraOswald

Может ли функция вращать результат работы callback'а?

как сделать так что бы функция возвращала результат работы callback'а?
Вот примерный код.
async function requestTo(options, callback) {
          await request(options, (e, r)=>{
           if(e){
             let error = new Error(e);
             error.response = r;
             return callback(error);
           }
           else if (!e && r.statusCode >= 200 && r.statusCode < 300) {
             result = callback(null, r);
           } else {
             let error = new Error('HTTPError');
             error.response = r;
             return callback(error);
           }
          });
        }
requestTo(options, function (error, result){
 if (error == null){
  console.log(result);
 }else {
  console.log(error);
 }
}
)

то есть что бы если абстрактно говоря doCall вызывалась так
var result = requestTo(options, function (error, result){
 if (error == null){
  return result;
 }else {
  return error;
 }
}
)

то есть в конечном итоге в на с result будет response
И да я понимаю что вопрос глупый, но прямо сейчас не могу придумать решение без костылей
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 1
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
Кони,люди.....
async function requestTo(options, callback) {
    let resul;
    try {
        resul = await axios(options)//я использую axios, можно заюзать request-promise
        return resul;// тут результат запроса
    } catch (e) {
        //Тут ошибка, но пойдет в результат, можно сделать thow
        return e
    }
}
requestTo(options), then((r) => {
    console.log(r)// тут результат
}).catch(err => {
    console.log(err)// тут ошибки
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы