如果我将函数放入这样的字符串:
var functionString = function (message) {
console.log(message);
}.toString();
Run Code Online (Sandbox Code Playgroud)
有没有办法将字符串转换回函数并调用它?我试过了
eval(functionString)
Run Code Online (Sandbox Code Playgroud)
返回"Uncaught SyntaxError:Unexpected token",和
functionString.call(this, "HI!");
Run Code Online (Sandbox Code Playgroud)
返回'undefined不是函数'.
这甚至可以在JavaScript中?
在此先感谢您的回复!
编辑:这个问题的关键是函数已经使用toString()转换为字符串.所以
console.log(functionString);
Run Code Online (Sandbox Code Playgroud)
返回此字符串:"function(message){console.log(message);}"
我可以将字符串转换回函数并调用它吗?这是我试图解决的问题.谢谢!
是否有推荐的概念如何从Angular 2应用程序访问MySQL?
我是Angular和Typescript的新手.我发现并安装了node-mysql包裹.我想选择一些数据集进行计算分析和一些图形表示(也许用d3).
我自己的概念是实现封装连接和SQL调用的单例服务.
但也许我在想这里太老了?也许应该采用不同的方法?
在实际方面,我不确定如何node-mysql在Angular2/Typescript中导入包 - 通过导入顶部的包?
如果有人能指出我的一个例子,我会很高兴学习.
我什至找不到与此相关的搜索关键字。请考虑以下代码:
float inputValue = getInputValue();
float resultValue;
if (inputValue < 0.1f) {
resultValue = 0.01f;
}
else if (inputValue < 1.0f) {
resultValue = 0.1f;
}
else if (inputValue < 10.0f) {
resultValue = 1.0f;
}
else {
resultValue = 10.0f;
}
Run Code Online (Sandbox Code Playgroud)
等等。必须有一种更优雅的方法来执行此操作。我猜该解决方案很简单,但是我尝试找到2小时的方法,然后阅读有关圆形,天花板,地板...找不到的方法。
有人知道吗?
新承诺,想学习。我有这个 shopIds 数组:
let shopIdsArray = ['shop1','shop2','shop3'];
Run Code Online (Sandbox Code Playgroud)
和一个外部承诺调用
getProducts(shopId, 'products') //promise returns the products of this shop
Run Code Online (Sandbox Code Playgroud)
不幸的是,承诺不返回 shopId,只返回产品,所以我必须以某种方式保留 shopId 并在承诺完成后将其与产品存储在一起。我目前的方法是使用每个 shopId 调用 promise,并将每个 promise 调用的结果添加到 shopAndProductsArray 中,如下所示:
shopsAndProductsArray.push({
"id":shopId,
"products":products
});
Run Code Online (Sandbox Code Playgroud)
稍后,我的“包装承诺”应该返回完成的shopsAndProductsArray。
我当前的代码(节点,ES6)如下所示:
updateProducts = new Promise(
function (resolve, reject) {
let shopIdsArray = ['shop1','shop2','shop3'];
const shopsAndProductsArray = [];
let promisesArray = [];
shopIdsArray.forEach((shopId) => {
let promise = getProducts(shopId, 'products')
.then((products) => {
const shopInfoObject = {
"id":shopId,
"products":products
};
console.log("sio: ",shopInfoObject); //prints shopIds and products fine.
shopsAndProductsArray.push(shopInfoObject); …Run Code Online (Sandbox Code Playgroud) javascript ×2
angular ×1
c ×1
c++ ×1
es6-promise ×1
eval ×1
floor ×1
function ×1
mysql ×1
node.js ×1
objective-c ×1
promise ×1
rounding ×1
tostring ×1