EmbeddedValueResolverAware EmbeddedValueResolverAware[#embeddedvalueresolveraware]一、基本信...
EmbeddedValueResolverAware EmbeddedValueResolverAware[#embeddedvalueresolveraware]一、基本信...
加instance主要是因为默认的上下文this指向的是window,不是对象实例,访问不到属性
一个generator自动执行器一个generator自动执行器 最近看 redux-saga的源代码, 作者写的yield执行器代码非常不错,详细的分析一下 支持异常处理 支持thunk 支持promos...
你这种写法要是能加上instance和apply就可以支持 对象A实例.doSomething()这种调用了,doSomething是一个Generator函数
一个generator自动执行器一个generator自动执行器 最近看 redux-saga的源代码, 作者写的yield执行器代码非常不错,详细的分析一下 支持异常处理 支持thunk 支持promos...
Generator.run = function(instance, generatorFUN, ...initialValue) {
return new Promise((resolve, reject) => {
const generator = generatorFUN.apply(instance, initialValue);
iterate(generator);
function iterate(generator) {
step();
function step(arg, isError) {
const { value: express, done } = isError ? generator.throw(arg) : generator.next(arg);
logger.debug('[Generator][run]next: %j', { express, done });
let response;
if (!done) {
if (typeof express === 'function') {
response = express();
} else {
response = express;
}
Promise.resolve(response).then(step, err => step(err, true));
} else {
logger.debug('[Generator][run]when done, value: %j', express);
resolve(express);
}
}
}
});
};
你这种写法不支持return,在done里面加一个resolve(express)就可以支持了
一个generator自动执行器一个generator自动执行器 最近看 redux-saga的源代码, 作者写的yield执行器代码非常不错,详细的分析一下 支持异常处理 支持thunk 支持promos...