小编Ser*_*zzo的帖子

JavaScript。如果数组包含重复数字,则数组 .sort() 方法为 Chrome 和 Firefox 返回不同的结果

我有包含随机数的数组。当我尝试通过.sort()方法对这个数组进行排序时,如果数组包含重复的数字,结果会有所不同。以下代码在 Chrome 和 Firefox 中的工作方式不同:

[1,2,3,4,5,6,7,8,9,2,15,3,4,5,1,2,3,4,0,2,3].sort(function(a, b) {
  console.log("a=", a, "b=", b)
})
Run Code Online (Sandbox Code Playgroud)

Plunker:http ://plnkr.co/edit/Ocm1ZSXgkoCM7FQeH0v5

它有错误吗?如何修复此行为以在 Chrome 和 FF 中获得相同的结果?

javascript arrays sorting firefox google-chrome

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

Python3 asyncio - 在自己的线程中运行两个服务器

我的服务器类继承自BaseServer

class BaseServer(object):

    def __init__(self, host, port):
        self.loop = asyncio.new_event_loop()
        asyncio.set_event_loop(self.loop)

        self.instance = asyncio.start_server(self.handle_connection, host = host, port = port)

    async def handle_connection(self, reader: StreamReader, writer: StreamWriter):
        pass

    def start(self):
        # wrapping coroutine into ensure_future to allow it to call from call_soon
        # wrapping into lambda to make it callable
        callback = asyncio.ensure_future(self.instance)
        self.loop.call_soon(lambda: callback)
        self.loop.run_forever()
        self.loop.close()

    def stop(self):
        self.loop.call_soon_threadsafe(self.loop.stop)

    @staticmethod
    def get_instance():
        return BaseServer(None, None)
Run Code Online (Sandbox Code Playgroud)

我需要两个在自己的线程中运行的服务器来并行处理请求。但是当我尝试根据需要运行它们时,只有第一台服务器正在运行。下面是我如何运行它们:

if __name__ == '__main__':
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)

    async def run(): …
Run Code Online (Sandbox Code Playgroud)

python python-multithreading python-asyncio python-3.5

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

JavaScript的.带空函数的setInterval返回2

我有下一个代码:

var timer = setInterval(function() {}, 1000)
Run Code Online (Sandbox Code Playgroud)

当我尝试输出时timer,它包含"2"(数字).

Plunker:http://plnkr.co/edit/x0Iwc0ZjTI1HDFv9oxyc?p=preview

请解释一下这种行为.

javascript setinterval

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

React - 无法从网络摄像头流式传输视频

我正在尝试将我的组件修复为从网络摄像头流式传输数据。它呈现成功并成功访问网络摄像头。但我不知道为什么视频标签不播放任何内容。如何解决这个问题?我错过了什么?

export class WebcamStream extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            src: null
        }
        this.videoRef = React.createRef()
    }

    componentDidMount() {
        // getting access to webcam
        navigator.mediaDevices
            .getUserMedia({video: true})
            .then(stream => this.setState({src: stream}))
            .catch(console.log);
    }

    render() {
        return <video id={this.props.id}
                      ref={() => this.videoRef.srcObject = this.state.src}
                      width={this.props.width}
                      height={this.props.height}
                      autoPlay="autoplay"
                      title={this.props.title}></video>
    }
}
Run Code Online (Sandbox Code Playgroud)

webcam html5-video reactjs

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

在嵌套范围内覆盖结构字段(与其他字段具有相同的生命周期)时出现“X 的生存时间不够长”错误

我实现了一个结构,其中为所有引用字段提供了相同的生命周期。当我覆盖内部范围内的字段时,生命周期似乎不起作用。我收到错误:

错误[E0597]:str2寿命不够长

这是我的代码:

struct Test<'a> {
    a: Option<&'a String>,
    b: Option<&'a String>,
}

impl<'a> Test<'a> {
    pub fn new(a: Option<&'a String>) -> Self {
        Self {
            a,
            b: None,
        }
    }
}

fn main () {
    let str1 = String::from("test1");
    let mut test = Test::new(Some(&str1));
    {
        let str2 = String::from("test2");
        test.b = Some(&str2);
    }

    println!("{:?} and {:?}", test.a, test.b);
}
Run Code Online (Sandbox Code Playgroud)

这是最小的沙箱实现

您能解释一下如何强制引用在定义的生命周期内工作吗?为什么在这种情况下代码不能编译?

rust

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