Node.js Promise正在解析但未触发节点中的.then()函数

Node.js Promise正在解析但未触发节点中的.then()函数,node.js,promise,q,Node.js,Promise,Q,一旦一个承诺被解决,在获取要触发的函数的then时出现问题。我可以在下面代码中的nunjucks回调的控制台日志中看到生成的html,因此我知道它在这一点上运行良好。但是,调用函数的和中没有返回任何内容。 你知道问题出在哪里吗?提前谢谢 function generate(data, schema, partials) { var formTitle = schema.title; var defered = q.defer(); nunjucks.render('test.h

一旦一个承诺被解决,在获取要触发的函数的then时出现问题。我可以在下面代码中的nunjucks回调的
控制台日志中看到生成的html,因此我知道它在这一点上运行良好。但是,调用函数的
中没有返回任何内容。
你知道问题出在哪里吗?提前谢谢

function generate(data, schema, partials) {
  var formTitle = schema.title;


  var defered = q.defer();

  nunjucks.render('test.html', { formTitle: formTitle },function(err, 
html) { 

    if (err) {
      console.log('nunjucks error ', err);
      return defered.reject();
    }
    console.log('nunjucks render ok..', html); // html logging fine here
   // This seems not to work
    q.resolve(html);
  });


  return defered.promise;

}
这是函数调用

formTemplater.generate(data, schema, {
    header: fs.readFileSync('./header.html', 'utf8'), 
    footer: fs.readFileSync('./footer.html', 'utf8')
}).then(function(html) {
    // nothing works here
    console.log('nunjucks back with html :: ', html);
    fs.writeFileSync('./results.html');
});
这:

应该是这样的:

defered.resolve(html)
这:

应该是这样的:

defered.resolve(html)

谢谢你的及时回复。我以前试过推迟.resolve(),但我想我打错了,所以没用..嗯。但又试了一次,成功了。干杯谢谢你的及时回复。我以前试过推迟.resolve(),但我想我打错了,所以没用..嗯。但又试了一次,成功了。干杯