https://www.todojs.com/controlar-la-ejecucion-asincrona/
https://www.todojs.com/controlar-la-ejecucion-asincrona/
function longRunningOperation(callback) {
// simulate a 3 second operation
setTimeout(callback, 3000);
}
function userClicked() {
console.log(‘starting a long operation’);
longRunningOperation(function () {
console.log(‘ending a long operation’);
});
}
// simulate a user action
userClicked();
Cada uno con su closure:
function longRunningOperation(callback) {
// simulate a 3 second operation
setTimeout(callback, 3000);
}
function webRequest(request) {
console.log(‘starting a long operation for request:’, request.id);
longRunningOperation(function () {
console.log(‘ending a long operation for request:’, request.id);
});
}
// simulate a web request
webRequest({ id: 1 });
// simulate a second web request
webRequest({ id: 2 });
https://www.jetbrains.com/webstorm/
https://netbeans.org/
https://www.visualstudio.com/
https://www.slant.co/topics/46/~best-ides-for-node-js
Una vez que obtienes el repositorio, tienes acceso a todo tipo de métodos útiles:
// consulta por la clave principal (generalmente 'id') $product = $repository->find($id); // métodos con nombres dinámicos para buscar un valor en función de alguna columna $product = $repository->findOneById($id); $product = $repository->findOneByName('foo'); // obtiene todos los productos $products = $repository->findAll(); // busca productos basándose en el valor de una columna $products = $repository->findByPrice(19.99);
También puedes utilizar los métodos findBy
y findOneBy
para obtener objetos en función de varias condiciones:
// busca un producto con ese nombre y ese precio $product = $repository->findOneBy(array( 'name' => 'foo', 'price' => 19.99 )); // obtiene todos los productos con un nombre determinado // y ordena los resultados por precio $product = $repository->findBy( array('name' => 'foo'), array('price' => 'ASC') );
$repository = $this->getDoctrine() ->getRepository('AcmeStoreBundle:Product'); $query = $repository->createQueryBuilder('p') ->where('p.price > :price') ->setParameter('price', '19.99') ->orderBy('p.price', 'ASC') ->getQuery(); $products = $query->getResult();
$em = $this->getDoctrine()->getManager(); $query = $em->createQuery( 'SELECT p FROM AcmeStoreBundle:Product p WHERE p.price > :price ORDER BY p.price ASC' )->setParameter('price', '19.99'); $products = $query->getResult();