小编rov*_*red的帖子

Angular HttpClient返回期望可观察的<HttpEvent <any>而不是observable <any>

使用HttpClient时,我在返回类型上遇到编译错误.在我的函数中GetPortfolio,我期望GET调用返回类型的json对象,Observable<Portfolio>但是它给出了错误:

类型Observable<HttpEvent<Portfolio>>不能分配给类型Observable<Portfolio>.类型HttpEvent<Portfolio>不能分配给类型Portfolio.类型HttpProgressEvent不能分配给类型Portfolio.属性name缺少类型HttpProgressEvent.

我的代码:

import { Injectable } from '@angular/core';
import { environment } from './environments/environment';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';


export interface Portfolio {
  name: string;
  id: string;
}

@Injectable()
export class PortfolioService {

    private httpOptions;

    apiUrl: string;

    constructor(private http: HttpClient) {
      this.apiUrl = environment.apiUrl + "/api/portfolios";

      this.httpOptions = { …
Run Code Online (Sandbox Code Playgroud)

angular angular-httpclient

16
推荐指数
3
解决办法
8166
查看次数

Oracle current_date或sysdate没有小时,分钟,秒

有没有办法摆脱使用current_date或时的时间sysdate.我只想把日期存储为YYYY-MM-DD,但是current_date正在给我YYYY-MM-DD HH:MM:SS:MS

或者在比较日期时,它只比较日期而不是时间也一样好.任何帮助都会很棒,谢谢.

java sql oracle

12
推荐指数
1
解决办法
2万
查看次数

将PHP JSON传递给Javascript:echo json_encode vs echo json声明

我正在尝试创建一个常见的常量文件,在php和javascript之间共享,使用JSON存储常量.但我想知道为什么使用json_encode()过度回显json声明将JSON从PHP传递给javascript .

假设我有PHP JSON

<?php 

$json_obj = '{"const1": "val",
            "const2": "val2"             
                            }';

?>
Run Code Online (Sandbox Code Playgroud)

谷歌搜索,似乎传递回javascript的典型方式是使用

<?php echo json_encode($json_obj); ?>
Run Code Online (Sandbox Code Playgroud)

然后我相信我将不得不使用类似的东西$.getScript()来读取PHP文件$json_obj,然后用parseJSON()它来使它在javascript中可用.

但为什么不呢

<?php  echo 'var json = '.$json_obj; ?>
Run Code Online (Sandbox Code Playgroud)

这样你所要做的就是直接加载脚本,你可以直接使用json.

是否有一个特殊的原因,为什么它更有利于使用json_encode()然后简单地回应javascript的声明?

javascript php jquery json

9
推荐指数
3
解决办法
4万
查看次数

在声明期间初始化并创建速记getter/setter

如何在声明期间初始化成员变量并创建getter/setter简写?是否可以或者必须使用构造函数来赋值?

例如,我想做类似的事情

public class Money
{
   public int dollars = 200 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

要么

public int dollars = 200;

dollars 
{
    get;
    set;
}
Run Code Online (Sandbox Code Playgroud)

c# getter setter

7
推荐指数
3
解决办法
7089
查看次数

需要 BFS、DFS 搜索将树标记为已访问?

查看 BFS 和 DFS 算法,他们似乎将节点标记为已访问。如果我只是在导航树,我的实现是否仍然需要将节点标记为已访问?我想在每个节点上只执行一次操作。

似乎只有存在循环的图形才需要它,这使我有可能两次碰到同一个节点。如果我对树进行递归调用,则似乎没有必要具有访问状态,因为在堆栈中的所有调用返回到当前节点后,我可以选择在节点上执行我想要的操作。我的假设正确吗?

谢谢。

tree graph breadth-first-search depth-first-search

7
推荐指数
1
解决办法
3588
查看次数

PHP:仅将函数范围限制在当前文件中

有没有办法限制php文件中的非类函数的范围,并使它们只能在它所在的php文件中访问?就像C可以使用带有函数的静态关键字来实现这一点.在php中,静态似乎只适用于类.我想隐藏只能由文件中的函数访问的辅助函数.谢谢.

php scope function

6
推荐指数
1
解决办法
1086
查看次数

异步方法的最小起订量返回延迟不延迟

在我的单元测试中,我试图Run()从我的界面模拟出异步方法IPipeline并模拟延迟,它在类中被调用PipelineScheduler

public interface IPipeline
{
    Task Run();
}
Run Code Online (Sandbox Code Playgroud)

测试起订量:

[SetUp]
public void SetUp()
{
    _mockPipeline = new Mock<IPipeline>();

    _mockPipeline.Setup(x => x.Run()).Returns(async () =>
    {
        await Task.Delay(3000);
    });
    _scheduler = new PipelineScheduler(_mockPipeline.Object);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在调用模拟方法的地方运行测试和调试时

await _pipeline.Run().ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)

没有延迟,在此行之后立即继续执行。

但是如果我用存根类替换模拟,延迟工作正常。

private class MockPipeline : IPipeline
{
    public async Task Run()
    {
        await Task.Delay(3000);
    }
}

[SetUp]
public void SetUp()
{
    _mockPipeline = new MockPipeline();
    _scheduler = new PipelineScheduler(_mockPipeline);
}
Run Code Online (Sandbox Code Playgroud)

所以我想问题是我如何用最小起订量与我的存根类创建延迟有什么不同?

c# unit-testing asynchronous moq async-await

6
推荐指数
1
解决办法
2250
查看次数

Java:当java.io具有受保护的构造函数时,如何从java.io为Reader类创建新的类对象

我想为java的Reader类创建一个新的类对象,但由于它受到保护,我无法访问构造函数.

读者类描述

Reader myReader = new Reader(); 
Run Code Online (Sandbox Code Playgroud)

不管用.

通常,我会创建一个新的函数来访问该构造函数的类,但由于该函数是java默认库的一部分,我该如何访问它?谢谢你的帮助.

java constructor class protected

3
推荐指数
1
解决办法
7414
查看次数

何时使用动态内存C++

所以我总是被告知你应该在编译时不知道数组的大小时使用动态内存.例如,用户需要输入数组的大小.

    int n;

cin >> n;

int array[n];

for(int ii = 0; ii < n; ii++)
{
    array[ii] = ii;
}

for(int ii = 0; ii < n; ii++)
{
    cout << array[ii] << endl;
}
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说很好,我一直认为我需要使用指针和新的运算符.动态内存是否仅适用于您想要更改阵列大小,释放空间或控制何时释放内存的能力?谢谢.

c++ memory pointers dynamic

3
推荐指数
1
解决办法
2365
查看次数

C#返回正确的对象类型

    public Object get()
    {
        switch (current_image_type)
        {
            case(image_type.Gray):
                return (Image<Gray, Byte>)image_object;
            case(image_type.Bgr):
                return (Image<Bgr, Byte>)image_object;
            default:
                throw new Exception("No Image type set for ImageCV");
        }
    }
Run Code Online (Sandbox Code Playgroud)

所以在这个get函数中我不知道在运行时返回什么对象类型,所以我只返回了Object超类.但是,这并不好,因为当我得到返回的Object超类时,我将无法访问Image<,>子类函数,除非我知道要将其转换为什么.有没有办法让我检查current_image_type在运行时返回所需对象类型的对象类型?谢谢.

c# generics return object emgucv

3
推荐指数
1
解决办法
141
查看次数

backbone.js:防止模型更改时触发侦听器事件

我在视图中有以下监听器来更改模型:

this.listenTo(this.model, 'change', this.render);
Run Code Online (Sandbox Code Playgroud)

当我改变模型时:

model.set('foo', bar);
Run Code Online (Sandbox Code Playgroud)

是否有可能使它不触发此特定函数调用的侦听器事件?我仍然希望事件在其他调用时触发.

javascript events model backbone.js

2
推荐指数
1
解决办法
3568
查看次数

Java:提高同步函数的线程速度

for(int ii = 0; ii < 3; ii++)
    executor.execute(new someClass);
Run Code Online (Sandbox Code Playgroud)

VS

someFunction();
someFunction();
someFunction();
Run Code Online (Sandbox Code Playgroud)

哪里

public static void someFunction(){
    synchronized(lock){
       for(int ii = 0; ii < long.MAX_VALUE; ii++);
    }
}


private class someClass implements Runnable {

   public void run() {          
     someFunction(); //someFunction() is  a synchronized function
   }
}
Run Code Online (Sandbox Code Playgroud)

对不起,如果这可能是一个相当模糊的问题.我有一个同步的someFunction(),我希望按顺序调用3次,另一次调用3个线程,其中每个执行someFunction()任务.因为,它是同步的,只有1个线程可以访问,速度差异几乎相同,3个线程对1个线程.我也不允许修改或不同步someFunction().我想知道是否有任何方法可以加快我使用线程的多线程方式?也许通过线程如何排队或什么?谢谢你的帮助.

java multithreading synchronized

1
推荐指数
1
解决办法
951
查看次数

无法将所有8个字节装入unsigned long long中

我试图在视觉C中将16个十六进制值拟合为一个无符号的long long long

unsigned long long test = 0x1A2A00DABABA7890;
printf("long long value %X\n", test);
printf("%d", sizeof(test));
Run Code Online (Sandbox Code Playgroud)

我的输出显示它是8个字节,但仅在输出时存储前4个字节

long long value BABA7890
8
Run Code Online (Sandbox Code Playgroud)

我是不是误会了它的工作原理?谢谢你的帮助。

c hex

1
推荐指数
1
解决办法
241
查看次数