小编Fab*_*Zbi的帖子

使用 Promise.allSettled 和 try/catch 未处理的承诺拒绝

我的想法如下:我想同时发送多个请求,而不必等到先前执行。

所以我的伪代码如下所示:

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

function failingRequest(){
    return new Promise((resolve, reject) => {
        reject('Request failed');
    });
}

function successRequest(){
    return new Promise((resolve, reject) => {
        resolve('Request success');
    });
}

async function main() {
    try {
        let executions = [];
        executions.push(failingRequest());
        await sleep(4000);
        executions.push(successRequest());
        let result = await Promise.allSettled(executions);
        console.log(result);
    } catch (err) {
        console.log('Outer error occured.');
        console.log(err.message);
    }

    console.log('done');
}
main();
Run Code Online (Sandbox Code Playgroud)

在此处运行此代码可以按预期在浏览器中运行,但会给出以下使用节点运行的输出:

node:761) UnhandledPromiseRejectionWarning: Request failed
api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:761) [DEP0018] DeprecationWarning: …
Run Code Online (Sandbox Code Playgroud)

javascript try-catch node.js promise

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

如何将单个 Socket IO 实例传递给具有 Context API 的页面?

所以我试图在我的整个应用程序中使用一个 Socket IO 实例并从多个组件访问它。

我已经搜索了很多,也尝试了很多......没有任何成功。

现在我正在使用 React Context API。

我正在初始化我的SocketContextin SocketProvider.js

import React from 'react'

const SocketContext = React.createContext()

export default SocketContext
Run Code Online (Sandbox Code Playgroud)

打开套接字并提供它App.js

import React from 'react';
import Main from './components/Main/Main';
import io from 'socket.io-client';
import SocketContext from './services/SocketProvider'


function App() {
  const socket = io("http://localhost:8000")
  return (
    <div className="App">
      <SocketContext.Provider value={socket}>
      <MuiPickersUtilsProvider>
        <MuiThemeProvider >
          <Main />
        </MuiThemeProvider>
      </MuiPickersUtilsProvider>
      </SocketContext.Provider>
    </div>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

路由Main.js


function Main() {

  return (
    <main> …
Run Code Online (Sandbox Code Playgroud)

javascript socket.io reactjs react-native

8
推荐指数
2
解决办法
5140
查看次数

设置倾斜 &lt;section&gt; 的边距

我只是倾斜了用作横幅的部分。

现在,由于倾斜,该部分的高度明显高于预期。

如何根据这个新高度定义底部边距?

.banner{
    transform: skewY(-5deg);
    transform-origin: top right;
    outline: solid 1px black;
    margin-bottom: 5rem;
}
Run Code Online (Sandbox Code Playgroud)
<section class="banner">
  <h1>Hello World!</h1>
  <h2>Subtitle</h2>
</section>
<div class="content">
  <p>CONTENT</p>
</div>
Run Code Online (Sandbox Code Playgroud)

如果您以全屏方式打开代码片段并更改窗口大小,您就会知道我的意思...内容只是隐藏在横幅后面。

提前致谢!

html css skew css-transforms

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