Comments (3)
There is a non-standard API Promise.denodeify
to help convert Node.js compatible callbacks to promises but that API signature in your example doesn't match the Node.js standard of error first in callbacks.
But you can just wrap it in a promise to turn it into a promise:
const Market = require('some-api');
const promise = new Promise((resolve, reject) => {
const myMarket = new Market();
myMarket.websockets.trades(request[1], (trades, error) => {
if (error) {
reject(error);
return;
}
if (this.streamStatus === 1) {
resolve(JSON.stringify(['TR', this.getTimeString(), trades]));
} else {
reject(new Error('This promise wasnt handled'));
}
});
});
promise
.then((json) => { /* do stuff with json */ })
.catch((err) => { /* do stuff with err */ })
from letswritecode.
from letswritecode.
Ah ha, I see. If (trades, error) => {}
gets called multiple times then it's effectively an Event Emitter. In which case you shouldn't use a promise here. Promises are intended to be resolved a single time so they're not a very good API for events.
from letswritecode.
Related Issues (20)
- Electron apps outdated HOT 7
- add gitter chat room HOT 2
- The issue for 'You may need an appropriate loader to handle this file type.' HOT 12
- An error at bundle.js
- cannot connect from other device HOT 1
- Needs to be updated [Multi Window Electron] HOT 12
- package.json : no more "package" in scripts HOT 1
- HTML Required HOT 1
- You may need an appropriate loader to handle this file type. HOT 1
- using-npm-on-the-client-side HOT 1
- Nested Loops
- Video streaming Issue. Cannot get Stream of the other peer HOT 4
- Why does my node_modules folder have so much more stuff than yours? HOT 1
- how to get id to connect ?
- client info not appearing in Text Area?
- window.URL.createObjectURL is deprecated
- why not put in seperate repos i dont want ll them files just for 1 project! HOT 1
- chrome extension authentication to web app
- won't connect when clients are not in the same network
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from letswritecode.