繁体   English   中英

Promise正在解决但未触发Node中的.then()函数

[英]Promise is resolving but not triggering .then() function in Node

一旦解决了诺言,就无法触发函数的then。 我可以在下面的代码中的nunjucks回调的console log中看到生成的html,因此我知道目前为止工作正常。 但是什么是回来的then调用函数。 任何想法是什么问题? 提前致谢!

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');
});

这个:

q.resolve(html)

应该是这样的:

defered.resolve(html)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM