Javascript回调或返回字符串
Javascript Callback Or Return String
我想知道下面哪一个是正确的事情,或者哪一个更快?
我有一个函数生成一个HTML字符串并返回它。
我应该如何返回这个字符串,我生成,回调或只是返回它?
MyApp.prototype.makeChatMsg = function(message, callback) {
var html = '<div class="media">';
html += '<div class="media-body">';
//html += '<h4 class="media-heading">' + message.user.first_name + ' ' + message.user.last_name + '</h4>';
html += '<p>' + message.content + '</p>';
html += '</div>';
html += '</div>';
callback(html); // see here
}
和
MyApp.prototype.makeChatMsg = function(message) {
var html = '<div class="media">';
html += '<div class="media-body">';
//html += '<h4 class="media-heading">' + message.user.first_name + ' ' + message.user.last_name + '</h4>';
html += '<p>' + message.content + '</p>';
html += '</div>';
html += '</div>';
return html; // see here
}
我在MyApp作用域内像这样使用这些函数
第一个方法
this.makeChatMsg(incomingMessage, function(html) {
$('#messages').append(html);
));
第二种方法
var newMessage = this.makeChatMsg(incomingMessage);
$('#messages').append(newMessage);
生成一个HTML字符串是一个异步任务或不是?
一般来说,我们应该从函数中取return
,避免取callbacks
。
我认为回调意味着当你必须使用non-blocking
或asynchronous
调用像AJAX请求。在那里,任何事情都可以用callback
因为你不知道你的任务什么时候会完成,所以如果你想在完成任务后执行一些事情,我们使用callback。
我认为return
比callback
好。如果有太多的回调,它们会导致回调金字塔
使用更简单的解决方案,返回字符串,直到您有理由执行更复杂的操作。
从我所看到的,makeChatMsg将运行得非常快。没有理由让它异步运行。
相关文章:
- PHP strtotime()为JavaScript日期字符串返回false
- 如何将表单数据传递给PHP并将json字符串返回给Javascript
- 解析JSON字符串返回未定义的结果
- Javascript:解析csv中的字符串返回NaN(不是数字)
- 使用$se.trustAsHtml呈现字符串返回未定义的结果
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 如何使用一些变量参数从javascript函数调用 asp.net C#函数并从C#函数获取字符串返回
- 函数:根据字符串中是否存在子字符串返回 True/False
- 如何使用 JavaScript 区分布尔值和字符串返回值
- 将 React 的方法 'return' 作为字符串返回
- 调用不带括号的函数会将整个函数作为字符串返回
- 如何在 ajax 调用中接受来自控制器的字符串返回
- Jquery - 匹配动态日期字符串返回使用长度的匹配量
- json_encode使用 jquery.get() 发布数据时将数组作为字符串返回
- 缓冲区中的nodejs解码字符串返回多行字符串
- 如何将关联数组键作为字符串返回
- python's mechanize和forms:javascript字符串返回
- 将呈现的ejs视图作为服务内的html字符串返回
- CSV文件作为单个字符串返回
- jQuery中的HTML字符串返回错误