有没有办法将带有回调的Javascript调用转换成可以多次调用到promise中?
说,
bcp TABLENAME out TABLENAME.csv -U username -P password -S server -c -t','
并将其包含在承诺中?
scan(function(result) {
// this is actually a Bluetooth device scan (Cordova), and
// will return something when a device is found.
// So this can be called more than once.
});
我还需要这种模式来订阅来自蓝牙设备的数据。承诺不适合这项任务吗?
编辑:我正在使用Bluebird。
答案 0 :(得分:2)
承诺只解决一次。如果想要多次解决它,那么你需要的不是诺言。
您可能需要自定义事件(在浏览器中),节点EventEmitter
或Stream
(继承EventEmitter
,.pipe
,可选缓冲)。如果您只想要一个回调链解决方案,那么编写自己的解决方案似乎并不难。