gpt4 book ai didi

node.js - promise node.js 类生成器方法

转载 作者:搜寻专家 更新时间:2023-11-01 00:00:03 24 4
gpt4 key购买 nike

我正在尝试在以下代码中 promise someAsyncMethod。

当我运行代码时,someAsyncMethod 的 yielded promise 从未得到解决。

谁能告诉我我做错了什么?

'use strict';
var someapi = require('./lib/absenceio');
var Promise = require('bluebird');

class CompanyController {
constructor(currentUser, parameters) {

}
* someAsyncMethod () {
return yield someapi.listReasons(); // returns a promise
}
}

Promise.coroutine(function*(){
var c = new CompanyController();
Promise.promisifyAll(c);
var res = yield c.someAsyncMethodAsync();
console.log('never reached');
})();

最佳答案

someAsyncMethod() 是一个生成器函数,您不能直接生成它,但您可以使用 yield* 委托(delegate)给它.

所以,你的代码变成这样:

var res = yield* c.someAsyncMethod();

不需要 promise 它(我什至不确定当被要求 promise 生成器函数时 Bluebird 做了什么)。

关于node.js - promise node.js 类生成器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37852586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com