如图所示在html
页面,通过script
标签引入的publickKey
文件
这里面需要发送get
请求,请求服务器上一份加密key,然后在引入的其他js
文件中使用
所以我需要确保 先拿到get
请求的结果,再走下一个js 文件中的内容 publickKey.js
中用了 asynac await 但是还是先执行了下面的js 文件,导致没有拿到key ,
现在需要先拿到get
请求的结果,再走下一个js 文件中的内容,应该怎么修改呢?
async function a(){ const res = await request}
你应该先理解浏览器加载 JS 的机制,然后再设计你的逻辑。比如,使用 <script>
标签加载的话,如果没有 async
、defer
那么它们就是顺序加载。而 Promise 不会影响下一个 JS 的加载和执行。
所以你的需求有两种做法:
要确保先拿到上一个 script 引入的 js get 请求的结果,再走下一个 js 文件中的内容,你可以使用 Promise 和 async/await 来实现。
首先,你需要将 get 请求封装成一个返回 Promise 的函数。这样,你可以在异步函数中使用 await 关键字来等待 get 请求完成。
下面是一个示例代码:
// 假设这是你的 get 请求函数function fetchPublicKey() { return new Promise((resolve, reject) => { // 在这里发送 get 请求,并处理响应 // 假设你的请求发送和响应处理逻辑是这样的: fetch('https://example.com/publicKey') .then(response => response.json()) .then(data => { // 将获取到的数据解析为 publicKey const publicKey = data.publicKey; resolve(publicKey); // 解析成功后调用 resolve() }) .catch(error => { reject(error); // 请求失败时调用 reject() }); });}
接下来,在需要使用 get 请求的异步函数中,你可以调用 fetchPublicKey() 函数并使用 await 关键字等待结果。
示例如下:
async function a() { try { const publicKey = await fetchPublicKey(); // 等待 get 请求完成并获取结果 // 在这里使用 publicKey,例如: console.log(publicKey); } catch (error) { // 处理 get 请求失败的情况 console.error('Failed to fetch public key:', error); }}
通过这种方式,你可以确保先获取到 get 请求的结果,然后再执行下一个 js 文件中的内容。
本文向大家介绍怎么引入(调用)一个JS文件,包括了怎么引入(调用)一个JS文件的使用技巧和注意事项,需要的朋友参考一下 我们旺旺需要调用别的 js文件。怎么处理? 看随机抽取这个例子。在一个页面中如下: 我们可以把 js 放在另外一个文件里,比如当前文件夹的 a.js 中。 这样 html 页面如下: a.js 这样就行了。 当然,也可以把 a.js放在web上,然后引用成下面这样。 以上所述是小
<script setup lang="ts">再引入1个<script src="..."></script>,报错,请问怎么解决? 错误提示: ERROR <script> cannot use the "src" attribute when <script setup> is also present because they must be processed together.
本文向大家介绍怎么确保一个集合不能被修改?相关面试题,主要包含被问及怎么确保一个集合不能被修改?时的应答技巧和注意事项,需要的朋友参考一下 可以使用 Collections. unmodifiableCollection(Collection c) 方法来创建一个只读集合,这样改变集合的任何操作都会抛出 Java. lang. UnsupportedOperationException 异常。 示
写了一段 js 控制并发数的逻辑,已经实现了控制并发,但是我想在最下面的 for 循环中得到每个 task 执行后的 response。 目前只能得到最开始 5 个的,这是为什么? 目前的一个结果: 我知道可以用一个数组 or 对象存放批处理的结果,但是现在的场景需要单独处理每个 response Help,Thanks!
我正在使用聚合管道。 这将产生以下结果: {"_id": ObjectId("512bc95fe835e68f199c8686"),"作者":"戴夫","分数": 80,"视图": 100} {"_id": ObjectId("512bc962e835e68f199c8687"),"作者":"戴夫","分数": 85,"意见": 521} 我想将这个管道结果(在本例中是一个数组)简化为一个对象。我
我用python制作了一个指针类,只要将这个类作为第一个类继承,类型类作为第二个类继承,就可以实现有语法提示的指针,但现在有一个问题,我在实例化的时候用type函数重新生成了一个类,导致这个类的实例类型不等于这个类,我要怎么办? Pointer test.py 输出 <class 'Pointer.StrPointer'> <class 'Pointer.StrPointer'> False 我知