相关疑难解决方法(0)

什么时候.then(成功,失败)被认为是承诺的反模式?

我看了一下bluebird promise FAQ,其中提到了这.then(success, fail)是一个反模式.我不太了解它对try和catch的解释.以下是什么问题?

some_promise_call()
.then(function(res) { logger.log(res) }, function(err) { logger.log(err) })
Run Code Online (Sandbox Code Playgroud)

似乎这个例子建议以下是正确的方法.

some_promise_call()
.then(function(res) { logger.log(res) })
.catch(function(err) { logger.log(err) })
Run Code Online (Sandbox Code Playgroud)

有什么不同?

javascript node.js promise bluebird

167
推荐指数
3
解决办法
2万
查看次数

如何在Javascript中终止脚本

我需要一个能退出js脚本的代码,就像PHP'exit'或'die'一样.(我知道它不是最好的编程实践,但我需要它).

javascript exit die

128
推荐指数
9
解决办法
31万
查看次数

正确尝试...使用Async/Await捕获语法

我喜欢Async/Await在Typescript等中提供的新功能的平坦性.但是,我不确定我喜欢这样一个事实,即我必须awaittry...catch块的外部声明变量才能在以后使用它.像这样:

let createdUser
try {
    createdUser = await this.User.create(userInfo)
} catch (error) {
    console.error(error)
}

console.log(createdUser)
// business
// logic
// goes
// here
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我,但似乎最好不要在机构中放置多行业务逻辑try,所以我只留下createdUser在块外声明,在块中分配它的替代方案,以及然后用它.

在这种情况下,最佳做法是什么?

javascript try-catch promise async-await ecmascript-2017

49
推荐指数
3
解决办法
2万
查看次数

如何在angularjs中链接promise promise函数

我知道如何链接promises以便执行多个成功函数.在许多例子中都提到了这一点.如何链接promises以便执行多个错误函数?

promise deferred angularjs

11
推荐指数
1
解决办法
9295
查看次数

我可以在蓝鸟Promises的早期打破链条吗?

我不一定要错,但我有:

getFromDb().then (tradeData) ->
  if not tradeData
    # DO NOT CONTINUE THE CHAIN
  else
    getLatestPrice tradeData
.then (latestPrice) ->
  ...
.then ->
  ...
.then ->
  ...
.catch (err) ->
  next err
Run Code Online (Sandbox Code Playgroud)

如果没有tradeData,我有什么方法可以中断链?

javascript promise bluebird

7
推荐指数
2
解决办法
3668
查看次数

停止承诺链有多个陷阱

在Node.js中,我需要异步读取文件并验证其内容。我正在使用Node.js 6.6bluebird 3.4.6

示例代码:

// pseudo function to read file contents - resolves when 'flag' is true, rejects when 'flag' is false.
function readFile(flag) {
    return new Promise(function (resolve, reject) {
        console.log('Reading file...');
        if (flag) {
            resolve('File contents');
        } else {
            reject('readFile error');
        }
    });
}

// pseudo function to validate file contents - resolves when 'flag' is true, rejects when 'flag' is false.
function validate(fileContents, flag) {
    return new Promise(function (resolve, reject) {
        console.log('Validating file: ', …
Run Code Online (Sandbox Code Playgroud)

node.js promise bluebird

7
推荐指数
2
解决办法
4187
查看次数