小编Sam*_*ang的帖子

"事件循环队列"和"作业队列"之间有什么区别?

我无法理解以下代码是如何运行的.为什么"1"在"b"之后但"h"在"3"之后?订单应该是:a,b,1,2,h,3?有些文章说"事件循环队列"和"作业队列"之间的区别导致了以下输出.但是怎么样?我已经阅读了ECMAScript 2015 - 8.4工作和工作队列的规范,想知道Promise'job是如何工作的,但这让我更加困惑.有人能帮我吗?谢谢!

var promise = new Promise(function(resolve, reject) {resolve(1)});
promise.then(function(resolve) {console.log(1)});
console.log('a');
promise.then(function(resolve) {console.log(2);});
setTimeout(function() {console.log('h')}, 0);
promise.then(function(resolve) {console.log(3)});
console.log('b');

// a
// b
// 1
// 2
// 3
// h
Run Code Online (Sandbox Code Playgroud)

我知道Promise是异步的,但setTimeout(..)异步操作的回调总是在Promise的异步操作之后.为什么?

javascript event-loop job-queue es6-promise

21
推荐指数
3
解决办法
6287
查看次数

忽略了对不接受模块的更新

控制台输出Ignored an update to unaccepted module错误,如何解决?

\n\n
log.js:25 Ignored an update to unaccepted module ./src/print.js -> 1\nlog.js:25 [HMR] The following modules couldn\'t be hot updated: (They would need a full reload!)\nlog.js:25 [HMR]  - ./src/print.js\n
Run Code Online (Sandbox Code Playgroud)\n\n

整个控制台消息是:

\n\n
log.js:23 [HMR] Waiting for update signal from WDS...\nlog.js:23 [HMR] Waiting for update signal from WDS...\nclient?cd17:64 [WDS] Hot Module Replacement enabled.\nclient?cd17:64 [WDS] Hot Module Replacement enabled.\nclient?cd17:67 [WDS] App updated. Recompiling...\nclient?cd17:67 [WDS] App updated. Recompiling...\nclient?cd17:67 [WDS] App updated. Recompiling...\nclient?cd17:67 [WDS] App updated. Recompiling...\nclient?cd17:193 …
Run Code Online (Sandbox Code Playgroud)

javascript webpack webpack-dev-server webpack-hmr

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

当我在单个函数或仅在主函数中使用时,字符串文字的 Rust 引用的行为有所不同

我最近正在学习所有权和生命周期。但我发现字符串文字有一个奇怪的情况。

//! work perfectly

fn foo() -> &'static str {
    let a = "66";
    &a
}

fn main() {
    let b = foo();
    println!("{}", b);
}
Run Code Online (Sandbox Code Playgroud)

当我像上面一样使用字符串文字时,它工作得很好。但是当我像下面这样使用它时:

//! broken

fn main() {
    {
        let b;
        {
            let a = "66";
            b = &a;
        }
        println!("{}", b);
    }
}
Run Code Online (Sandbox Code Playgroud)

它坏了,告诉我:

b = &a;
    ^^ borrowed value does not live long enough
Run Code Online (Sandbox Code Playgroud)

这些让我很困惑。为什么它们不同?

string rust

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