Я новичок в NodeJs. Я прочитал эту статью и нашел вопрос:
Могут ли обратные вызовы использоваться с обещаниями или это так или иначе?
Я искал ответ, но это не ясно. Так в чем же ответ?
Благодарю.
Вы всегда можете превратить обратный вызов в обещание, чтобы сделать его сотрудничество с вашими другими обещаниями гладко. Предположим, что asyncFunc
- это функция, которая выполняет обратный вызов. Вы можете превратить это в обещание таким образом:
new Promise((resolve, reject) => {
asyncFunc((error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
}
});
Большинство библиотек, реализующих обещания, предлагают ярлык для вышеуказанной конструкции кода:
Promise.promisify(asyncFunc);