我有以下q.all呼吁解决两个承诺.我检查了所有帖子并尝试了所有其他实现方式q.all及其相同的情况
var xyzdeffered = $q.defer();
service1.getServiceDetail1($routeParams.id).then(function(promise) {
xyzdeffered.resolve(promise);
});
var abcdeffered = $q.defer();
service2.getServiceDetail2($routeParams.id).then(function(promise) {
abcdeffered.resolve(promise);
});
$q.all([ xyzdeffered, abcdeffered ]).then(function(data) {
$scope.variable = data;
});
Run Code Online (Sandbox Code Playgroud)
我期待q.all中的变量只有在前两个promise被解析后才能填充.但不幸的是,服务调用本身并没有返回数据,控件转移到q.all.我发现这很奇怪,因为根据文档,仅当您的承诺以200响应返回并且已解决时才会调用q.all.我检查了网络调用的分析,并发出一些警告,看看代码的顺序,发现q.all警报是第一个被弹出的警报,然后其他的promises被解决了.它真的让我生气,为什么q.all的简单实现不起作用..任何帮助将不胜感激.
我在 express.js 中设置了一个跟踪 ID。我使用了 express-http-context 模块
httpContext.set('traceId', uuid.v4())
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用httpContext.get('traceId')它来获取它时,它似乎不起作用,并且为 POST 快递请求提供了 undefined 。它适用于 GET 请求。不知道这有什么问题
我有一个用旧版java编写的遗留代码.我正在尝试编译代码并使用ant生成.ear文件.我正在使用的java版本是jdk7/jdk6作为java home.在执行ant脚本时,我收到以下错误
Compiling 20 source files to C:\views\kroger\kroger\of_platform\build\oneforce\classes\ra
warning: [options] bootstrap class path not set in conjunction with -source 1.4
C:\views\kroger\kroger\of_platform\sdk\src\java\ra\com\workscape\connector\wedb\
JdbcConnectionImpl.java:81: error: JdbcConnectionImpl is not abstract and does not override abstract method getNetworkTimeout() in Connection
public class JdbcConnectionImpl implements JdbcConnection {
C:\views\kroger\kroger\of_platform\sdk\src\java\ra\com\workscape\connector\wedb\
JdbcDataSource.java:78: error: JdbcDataSource is not abstract and does not override abstract method getParentLogger() in CommonDataSource
public class JdbcDataSource
Run Code Online (Sandbox Code Playgroud)
我假设这个错误是因为某些jar不兼容较新的jdk版本.当我使用jdk1.4/1.5时,这很好用.请让我知道,如果我需要采取任何最新版本的jar ..使用的数据库是oracle,我使用ojdbc14编译数据库java代码.
它很重要,因为我们必须决定我们需要使用哪个版本的java.
谢谢