Javascript 围绕异步函数包装函数,以提取值并分配给全局变量
如标题所示,我是否可以放置以下异步函数:Javascript 围绕异步函数包装函数,以提取值并分配给全局变量,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,如标题所示,我是否可以放置以下异步函数: callArgos("fifa 17", function(title, price) { console.log("Argos title " + title + " price " + price); }) 在另一个函数中,例如: function foo() { callArgos("fifa 17", function(title, price) { console.log("Argos ti
callArgos("fifa 17", function(title, price) {
console.log("Argos title " + title + " price " + price);
})
在另一个函数中,例如:
function foo() {
callArgos("fifa 17", function(title, price) {
console.log("Argos title " + title + " price " + price);
})
}
然后调用函数foo,返回title和price,并将它们分配给全局变量
我有三个单独的异步函数,它们从三个不同的网站获取价格,并通过回调这些函数返回价格。然后,我希望将返回的值分配给全局变量,以便比较所有三种价格。我不确定这在JS和Node.JS中是否可行
你们觉得怎么样 当然。看看这把小提琴。这对你有用吗
使用回调,在第一个函数中传递第二个函数的引用,并在执行第一个函数后调用它。如果这是jquery ajax函数,那么您可以只调用。在这些方法上完成,否则您需要为用户定义的函数创建一个延迟对象,并解析这些延迟对象以通知订阅者,您真的想使用promises和Promise.all为此,我可以放置以下异步函数YES!!如果你有一台时间机器,那就是。
// Prices will be stored here
var prices = [];
// Dummy-function to mock async behaviour
function callArgos(someString, someCallback) {
setTimeout(function() {
someCallback(someString, 42);
}, Math.random()*100);
}
// Actual function
function foo() {
callArgos("fifa 15", function(title, price) {
prices[0] = price;
console.log("Argos title " + title + " price " + price, prices);
});
callArgos("fifa 16", function(title, price) {
prices[1] = price;
console.log("Argos title " + title + " price " + price, prices);
});
callArgos("fifa 17", function(title, price) {
prices[2] = price;
console.log("Argos title " + title + " price " + price, prices);
});
}
// Execute function
foo();