Aktywne Wpisy

Neocaridina +233
źródło: imgQXuJVt-7fcaa48
Pobierz
Masuca +61
Postanowilem, ze tez bede „eko” i oddam torbe butelek po wodzie z lidla.
Jade na zakupy, w delikatesach butelkomat wielkosci pralki, oczywiscie pelny „wymaga oproznienia”. Podchodze do kasjerki i mowie jej to, a ta ze wie ale to musi wlasciciel sklepu przyjechac bo tam sa plomby i „procedura jest skomplikowana”.
Mysle trudno, nie zrazam sie. Jade do biedronki. Pytam kasjerki gdzie jest butelkomat, a ta wskazuje na karton z dziura na goze xdd i
Jade na zakupy, w delikatesach butelkomat wielkosci pralki, oczywiscie pelny „wymaga oproznienia”. Podchodze do kasjerki i mowie jej to, a ta ze wie ale to musi wlasciciel sklepu przyjechac bo tam sa plomby i „procedura jest skomplikowana”.
Mysle trudno, nie zrazam sie. Jade do biedronki. Pytam kasjerki gdzie jest butelkomat, a ta wskazuje na karton z dziura na goze xdd i
źródło: IMG_0081
Pobierz




Mam pytanko - jak radzicie sobie z niekonsekwencją w zewnętrzych bibliotekach Node.js odnośnie operacji asynchronicznych? Bo niektóre biblioteki korzystają z Q, inne zwracają ES6 promise lub kompatybilne, a jeszcze inne korzystają z callbacka function( error , result ). Ja bym potrzebował aby wszystko było na jedno kopyto bo używam async/await z babelem i zastanawiam się jak to zrobić, bo nie chciałbym pisać wrappera do każdej możliwej klasy i funkcji a np. mongoose operuje na zasadzie callbacka function(error,result).
Ktoś, coś?:)
BTW - http://mongoosejs.com/docs/promises.html
Promise'y są chyba między sobą kompatybilne?
nie wiem czy on oczekuje konkretnego ES6 promise czy czegokolwiek co spełnia standardy, tj. ma metody .then() , .catch() itp. Z tego co patrzę na dokumentację bluebirda to jest tam napisane
promisify/promisifyAllW poniższym linku znajdziewsz wszystko co potrzebne o async await i dlaczego wcześniej potrzebowalismy generatorów. Jest to jedno z wielu fajnych zastosowań
@regis3: Hmm obecnie nie ma "prawdziwych" async/await bo nie ma silnika JS implementującego async/await, póki co to tylko specyfikacja,
@larvaexotech: Chakra wspiera.
var myIterable = {}
myIterable[Symbol.iterator] = function* () {
yield 1;
a) W implementacji modelu dodajesz:
var mongoose = require('bluebird').promisifyAll(require('mongoose'));Nie jestem pewny czy to zadziała, bo nie probowałem,
Dzięki cumplu :)
`var mongoose = require('bluebird').promisifyAll(require('mongoose'));
w ES6
a próbowałeś var usunąć z tego wyrażenia? bo zmienna mognoose jest już w 'scope' z powodu importu więc powinna działać jak każda inna zmienna.
w zasadzie import (.....) jest niemal równoważne z require, różnica jest tak naprawdę taka że wszyskie linie "import" są wykonywane najpierw a później jest wykonywany kod i o tym trzeba pamiętać.
tzn. ES5:
var
import fsBase from 'fs';
import blueBird from 'bluebird';
const fs = blueBird.promisifyAll( fsBase );
console.log( fs.readFileAsync ); // output: [Function]
import bluebird from 'bluebird';
import mongoose from 'mongoose';
mongoose = bluebird.promisifyAll(mongoose);