我正在为接口编写类型保护,我注意到我无法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) 我有一个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) 我需要一种方法来为C++中的字母分配数字,例如,'$'代表数字1.我显然需要能够从类似函数的字符中获取数字,例如getNumFromChar('$')返回1并 getNumFromChar('#')返回2.是有一种简单快捷的方法在C++中执行此操作吗?
我只是想通过互联网获得一个非常基本的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 ×3
typescript ×2
angular ×1
c++ ×1
ecmascript-6 ×1
python ×1
python-3.x ×1
rxjs ×1
websocket ×1