【问题标题】:Javascript / node.js - callbacks inside PromiseJavascript / node.js - Promise 中的回调
【发布时间】:2017-06-14 10:17:07
【问题描述】:

我的承诺中有一些回调:

var res = new Promise(resolve => {
  console.log('trig1');
  var out = fs.createWriteStream(pathToFile);
  console.log('trig2');
  out.on('finish', function() {
    console.log('out finish')
  })
  out.on('close', function() {
    console.log('out close')
  })
  out.on('error', function(err) {
    console.log('out error: ' + err)
  })
})

当我调用这个承诺时,它会在路径上创建文件并打印:

trig1
trig2

仅此而已。为什么我的回调没有执行?

问候和感谢

【问题讨论】:

    标签: node.js events npm callback promise


    【解决方案1】:

    因为没有错误,你没有写任何东西,也没有关闭这个流。这就是触发这些事件的原因。

    试着改变你的代码,让它做点什么。

    var res = new Promise(resolve => {
      console.log('trig1');
      var out = fs.createWriteStream(pathToFile);
      console.log('trig2');
      out.on('finish', function() {
        console.log('out finish')
      })
      out.on('close', function() {
        console.log('out close')
      })
      out.on('error', function(err) {
        console.log('out error: ' + err)
      });
      out.close(); // this will fire `close` event
    })
    

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 2015-04-10
      • 1970-01-01
      • 2014-05-10
      • 2015-12-18
      • 2018-02-24
      • 2013-02-05
      • 2016-04-26
      • 2020-07-11
      相关资源
      最近更新 更多