Javascript Async thunk
Javascript Async thunk
我正试图在makeThunk
函数中编写代码,但在这里我无法理解如何在makethunk
函数中传递cb
的值。
我想在用回调调用thunk后记录总和值!
我的代码看起来像这样:
"use strict";
function addAsync(x,y,cb) {
setTimeout(function () {
cb(x+y);
},1000);
};`enter code here`
var thunk = makeThunk(addAsync,10,15);
function makeThunk(){`enter code here`};
thunk(function(sum){
console.log(sum);
});
也许,您正在寻找以下内容:
"use strict";
function addAsync(x,y,cb) {
setTimeout(function () {
cb(x+y);
},1000);
};
var thunk = makeThunk(10,15);
function makeThunk(num1,num2){
return function(cb) {
addAsync(num1,num2,cb);
}
};
thunk(function(sum) {
console.log(sum);
});
您可以使用传递x
、y
和cb
的Function.prototype.bind()
作为参数
"use strict";
function addAsync(x, y, cb) {
setTimeout(function() {
cb(x + y);
}, 1000);
}
function makeThunk(fn) {
fn()
}
var thunk = makeThunk(addAsync.bind(null, 10, 15, function(sum) {
console.log(sum)
}))
function makeThunk(...args){
return function(cb){
args.push(cb)
addAsync(...args)
}
}
只需使用es6 中新增的rest/spread运算符语法
相关文章:
- jQuery加载的async和ready函数不工作
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 超过了async.detect最大调用堆栈大小
- 如果数组仍在执行,async.forEach()将运行我添加到数组中的新元素
- node.js应用程序中的async.js问题
- 使用async.parallel时出错
- async.js和系列问题
- async问题,JS Promise无法返回结果,但可以使用console.log
- 在Redux中链接async和sync操作以计算初始状态
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 如何使用Redux Thunk处理fetch()响应中的错误
- 使用ajax调用中的数据而不使用async:false
- Node.js时使用async是有意义的
- async.parallel中的回调是如何工作的(它来自哪里?)
- Javascript Async thunk
- async.retry-已调用回调
- jQuery没有指定异步调用级别async:false
- node.js,async,restify:无法使restify调用在async.series内同步
- 如何防止bind在使用async.series时更改node.js中的原始对象
- 将 redux-saga 与 ES6 生成器与 ES2017 async/await 一起使用 redux-thunk