如何在ejb中处理回调响应

How to handle callback responses in Ejs

本文关键字:处理 回调 响应 ejb      更新时间:2023-09-26

在我的Node.js应用程序中,我想在js代码中调用一些异步函数并呈现结果。我试着:

<ul>
<% setTimeout(function () { %>
<% supplies = [1, 2, 3, 4]; %>
<% for(var i=0; i<supplies.length; i++) {%>
   <li><%= supplies[i] %></li>
<% } %>
<% }, 1000) %>
</ul>

但它似乎不起作用。为什么它不工作,我该如何解决它?

好的,所以看起来Ejs不支持这样的功能,但是我们可以做的是使用deasync模块对deasync函数。

<% function foo (timeout, callback) { %>
<%     setTimeout(function () { %>
<%          callback(null, [1, 2, 3, 4]; %>
<%     }, timeout); %>
<% } %>
<% var Deasync = require("deasync") %>
<% var fooSync = Deasync(foo) %>
<ul>
<% supplies = fooSync(1000); %>
<% for(var i=0; i<supplies.length; i++) {%>
<li><%= supplies[i] %></li>
<% } %>
<% }, 1000) %>
</ul>