承诺多次调用替换回调gettin

Neo*_*Neo 0 javascript promise bluebird

我有一些方法可以执行一些操作并调用回调,并且在一定时间后它也会执行相同的操作.

var myFunction = function(callback){
  setInterval(function(){
    var stuff; 
    //do some stuff
    callback(stuff)
  }, 3000);
}
Run Code Online (Sandbox Code Playgroud)

我可以将其更改为承诺功能吗?如果是,用户将如何调用该功能?我打算用蓝鸟图书馆.

jfr*_*d00 5

承诺是一次性设备.他们只解决一次,之后就无法改变他们的状态.因此,它们对于经常性事件来说不是好的甚至是可行的替代品.

要使用多次出现的承诺,您必须拥有某种界面,允许您每次创建一个新承诺,并且每次都可以让调用者以某种方式访问​​该新承诺.这根本不适合您的特定界面.

像您正在使用的普通回调是重复事件的最合理的接口.