如何以同步的方式调用Q函数

我有一个function:

const Q = require('q'); const timers = require('timers'); function _testQ() { const deferred = Q.defer(); console.log('test timer event 1s.'); let t = timers.setInterval(() => { console.log('Timer event!'); timers.clearInterval(t); deferred.resolve(true); }, 1000); return deferred.promise; } let out = _testQ().then((n) => { console.log('Debug1 n:', n); }); console.log('Debug2 ', out); 

如何以syncronios的方式调用它。

我得到这样的输出:

 test timer event 1s. Debug2 { state: 'pending' } Timer event! Debug1 n: true 

我需要它打印像这样:

 test timer event 1 s. Timer event! Debug1 n: true Debug2 {state: 'pending'} 

那么如果你想Debug2在Debug1之后执行,你需要额外的.then块

 let out = _testQ() .then((n) => { console.log('Debug1 n:', n); }) .then(() => { console.log('Debug2 '); });