- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
鉴于下面的结果,我希望 working
出现在 begin
和 end
行之间。
Rule:
有没有办法在不更改 app.js
文件的情况下使其工作?
app.js
const service = require('./service');
console.log('*********** begin ***********');
(async () => {
const results = await service.init();
})();
console.log('*********** end ***********');
服务.js
exports.init = () => {
return new Promise((reject, resolve) => {
setTimeout(() => {
console.log('working...');
}, 2000);
});
};
结果:
C:\code\practice\promise-exercise2>node index.js
*********** begin ***********
*********** end ***********
working...
最佳答案
app.js
正在调用 console.log('begin')
和 console.log('end')
同步,而工作
是异步。我想您可以通过将 service.js
更改为打印 working
synchronously 来更改它,但这可能与您的用例不匹配。因此,不更改 app.js
是不可能的。
如果您想要这样的东西,您可以将 end
放在 async
函数中,在 await
之后>:
console.log('*********** begin ***********');
(async () => {
const results = await service.init();
console.log('*********** end ***********');
})();
关于javascript - 我不太了解这种异步性质,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391850/
Eclipse 坚持在我的项目中启用 JSF 方面。我可以很容易地禁用它,但是当我通过 Eclipse 运行 Maven -> Update Project 时,facet(以及关联的 WEB-INF
我在 Linux 下从 eclipse 导出了一个 SWT 项目,并尝试在 Windows 下导入它。到目前为止,一切都工作正常,除了我似乎失去了该项目的“SWT 性质”。使用 SWT gui 运行项
我有以下项目结构: root-gradle (build.gradle) 项目组 1(无构建文件) project1 (build.gradle) project2 (build.gradle) ..
我正在K8s集群上试验Spark2.3。想知道检查点如何工作?它存储在哪里?如果主驱动程序死了,那么现有处理会怎样? 在从卡夫卡消费时,补偿如何保持?我试图在线查找,但找不到这些问题的任何答案。我们的
我有一个 springboot 项目,它被组织为多个模块。我正在使用 Eclipse 2019-06(版本 4.12)和 jdk 1.8 update 131 和 apache maven 3.3.9
我是一名优秀的程序员,十分优秀!