【发布时间】:2016-02-17 04:20:43
【问题描述】:
我有以下代码:
exported.removeWatcher(issueId, user, function(err, result) {
if (result.statusCode != 204) { // Build a list of failed issues
} else if (result.statusCode == 204) {
}
console.log();
});
我知道使用回调是 node.js 的优势之一,但对于我的用例,我想等到收到来自上述回调的响应(即除非触发回调,否则不要进一步执行代码.) 我怎样才能做到这一点?
【问题讨论】:
-
是否可以从回调本身进一步执行代码?
-
你可以使用承诺;)
-
试图阻塞当前线程直到满足某个条件,这违背了nodejs的核心设计。即使您设法做到这一点,这也是不可取的,并且有可能引入已完成的 sis 问题。
-
你不能。构建您的代码以异步工作。
-
感谢 cmets 的各位。我能够按照 GoodDamon 的建议做到这一点,但我仍然需要考虑使这项工作异步工作的替代方法。感谢所有的建议。
标签: javascript node.js asynchronous callback