以异步方式设置函数参数
Set function parameters in an asynchronous way
我有以下函数,我发现有时在没有params.name集的情况下调用函数launch。我不太擅长异步函数,所以我想知道这是否是因为setName不一定在调用启动之前返回?那么,在初始化self.params
时,将函数调用放在三进制中会有帮助吗?
projectLaunch: function(options) {
var self = this;
if (options.name === null || options.name === "undefined") {
var name = self.setName();
} else {
var name = options.name;
};
self.params = {
name: name
};
launch(self.params);
},
setName = function() {
return encodeBase64(User.name, Project.name)
}
这都是一个较大对象的一部分,函数projectLaunch是从外部调用的。
这里没有异步(我没有您的encodeBase64
的实现,但我不明白为什么它是异步的(。
但这并没有将函数分配给任何名称,也没有将其称为:
function(options) {
...
}
所以launch
不能从我们看到的代码中调用。
如果你想制作IIFE,请将其修复为
(function(options) {
...
})({});
如果您希望options.name
中有一个非空字符串,那么使用传递的值或其他值的最简单解决方案是:
var name = options.name || self.setName();
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 为什么不'我们在javascript中使用函数参数的数据类型
- 使用闭包共享构造函数参数
- 函数参数的值错误
- 当一个重要的构造函数参数丢失时应该发生什么
- 阻止ReSharper将JavaScript函数参数放到新行中
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使构造函数参数具有ES6类方法的特权
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- Windows.Networking.EndpointPair构造函数参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 大括号中的Javascript函数参数
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 将JSON字符串转换为函数参数
- eval()读取函数参数有多糟糕
- Javascript不能在一个命令中使用函数参数
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- ES6类构造函数参数
- 是否可以在javascript函数参数列表中调用多个函数