小编ock*_*888的帖子

如何使用“in”和/或“hasOwnProperty”缩小对象类型

我正在为接口编写类型保护,我注意到我无法object使用inorObject.hasOwnProperty.call或缩小范围arg.hasOwnProperty。像这样:

interface Test {
    quest: string;
}

function isTest(arg: unknown): arg is Test {
    // this successfully narrows arg to "object"
    if (typeof(arg) !== "object" || arg === null) {
        return false;
    }

    if (!Object.hasOwnProperty.call(arg, "quest")) {
        return false;
    }
    // at this point, I still cannot access arg.quest, because
    // "Property 'quest' does not exist on type 'object'". The same thing happens
    // if I invert the check and try to …
Run Code Online (Sandbox Code Playgroud)

javascript typescript ecmascript-6

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

Angular“值未定义”订阅映射的http响应(未发出请求?)

我有一个LoginComponent调用该submitLogin方法的简单登录表单组件 ( ) 。

import { Component, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Router, ActivatedRoute } from '@angular/router';
import { first }  from 'rxjs/operators';

import { AuthenticationService } from '../../services';

@Component({
    selector: 'login',
    templateUrl: './login.component.html',
    styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
    returnURL: string;

    u = new FormControl('');
    p = new FormControl('');

    constructor(private route: ActivatedRoute, private router: Router, private auth: AuthenticationService) { }

    ngOnInit() {
        this.returnURL = this.route.snapshot.queryParams['returnUrl'] …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs typescript angular

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

将数字分配给字符C++

我需要一种方法来为C++中的字母分配数字,例如,'$'代表数字1.我显然需要能够从类似函数的字符中获取数字,例如getNumFromChar('$')返回1并 getNumFromChar('#')返回2.是有一种简单快捷的方法在C++中执行此操作吗?

c++

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

Python Websocket无法通过Internet连接

我只是想通过互联网获得一个非常基本的websocket连接。该代码看起来不错-因为它在连接到localhost时可以工作-但是由于某种原因,当我尝试通过Internet使用它时失败了。我正在使用websockets库,我的服务器如下所示:

#!/usr/bin/env python3

import asyncio
import websockets
from logging import getLogger, INFO, StreamHandler

logger = getLogger('websockets')
logger.setLevel(INFO)
logger.addHandler(StreamHandler())

clients = set()

async def handler(websocket, path):
    global clients
    clients.add(websocket)
    try:
        await asyncio.wait([ws.send("Hello!") for ws in clients])
        await asyncio.sleep(10)
    finally:
        clients.remove(websocket)

start_server = websockets.serve(handler, host='127.0.0.1', port=6969)

asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
Run Code Online (Sandbox Code Playgroud)

客户看起来像这样:

<!DOCTYPE html>
<html lang="en"><head>
    <meta charset="UTF-8">
    <title>Chat</title>
</head>

<body style="margin:0">
    <script type="text/javascript">
        var ws = new WebSocket("ws://127.0.0.1:6969/");
        var messages = document.getElementById('messages');
        ws.onmessage = function (event) {
            var messages = document.getElementById('messages');
            var …
Run Code Online (Sandbox Code Playgroud)

javascript python websocket python-3.x

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