我的想法如下:我想同时发送多个请求,而不必等到先前执行。
所以我的伪代码如下所示:
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) 所以我试图在我的整个应用程序中使用一个 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) 我只是倾斜了用作横幅的部分。
现在,由于倾斜,该部分的高度明显高于预期。
如何根据这个新高度定义底部边距?
.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)
如果您以全屏方式打开代码片段并更改窗口大小,您就会知道我的意思...内容只是隐藏在横幅后面。
提前致谢!
javascript ×2
css ×1
html ×1
node.js ×1
promise ×1
react-native ×1
reactjs ×1
skew ×1
socket.io ×1
try-catch ×1