所以我试图用 react 调用一个简单的后端服务(仅供参考,我对 react 或 javascript 不太了解)
import React from 'react';
import logo from './logo.svg';
import './App.css';
const {EchoRequest, EchoResponse} = require('./proto/api_pb.js');
const {EchoServiceClient} = require('./proto/api_grpc_web_pb.js');
var echoService = new EchoServiceClient('http://localhost:8081');
function App() {
var request = new EchoRequest();
request.setMessage("Pew Pew Pew")
let message = "initial value"
echoService.echo(request, {}, function (err, response) {
console.log(response.getMessage())
message = response.getMessage()
});
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo"/>
<p>
{message}
</p>
</header>
</div>
);
}
export default App;
我正在尝试将返回值模板化message
(它应该具有 echoService.echo 响应的值)但应用程序一直显示“初始值”而不是实际响应类型,即使它显示在控制台中
我知道这与一些异步行为有关,但我不知道如何等待请求完成。