UM Padrão Muito Usado Нет Incio Do Node.js Foi O Padrão Обратный вызов Отказ Esse Padrão Foi A PAMEIRA FORMA DE RESOLVER O ASSINCRONISMO DA Одиночная нить DO JavaScript.
Veja Urt Exemplo Поддельные Abaixo:
function getUserCallback(id, callback) {
setTimeout(function () {
callback(null, {
id,
name: 'Gabriel Rufino'
})
}, 2000)
}
getUserCallback(1234, function (error, user) {
if (!error) {
console.log(user)
}
})
Felizmente, Hoje Nós Temos Обещания E A A Amável async/a ждать Para Tratar O Fluco Assíncrono de Forma Mais Elegante.
Mesma Função Гутубер Усандо Обещание :
function getUserPromise(id) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
resolve({
id,
name: 'Gabriel Rufino'
})
}, 2000)
})
}
getUserPromise(1234)
.then(function (user) {
console.log(user)
})
.catch(function (error) {
console.error(error)
})
Mas Nem Tudo São Flores. AINDA Essertem Diversass Funções ou Palcotes NPM Que Funcionam Apenas Com Complass. COM SORTE, O NODE.JS TEM POR PADRãOO UMA Função que nos ajuda a transformar funções que a ajuda a transforge Обещание Отказ
É o helper Util.Promisify :
const util = require('util')
const functionPromise = util.promisify(/* Função aqui */)
Veja Urt Exemplo de Conversão:
const { promisify } = require('util')
const getUserCallback = require('./getUserCallback')
getUserCallback(1234, function (error, user) {
if (!error) {
console.log(user)
}
})
const getUserPromise = promisify(getUserCallback)
getUserPromise(1234)
.then(function (user) {
console.log(user)
})
.catch(function (error) {
console.log(error)
})
ГАЕТЕНТ: Seguir o Função Seguir O Padrão Перезвони
- O Callback dever ser ultimo puranto
- O PAMEIRO ARDUCTO DO CALLBACK DEVER OSALIVE ERRO
Эра Иссы! Обригадо: D.
Оригинал: “https://dev.to/gabrielrufino/convertendo-callbacks-para-promises-no-node-js-bnj”