3

我试图调用一个承诺的callback(null,response)内部.then()块。当我使用无服务器离线时它工作正常,但在使用无服务器时它给出错误。

有两种情况:

1 工作正常(使用部署serverless deploy时和使用时sls offline start

module.exports.getAssembly = (event, context, callback) => {

        const response = {
            statusCode: 200,
            body: JSON.stringify({
                message: 'Go Serverless v1.0! Your function executed successfully!'
            }),
        };
        callback(null, response)


}

2 可以正常使用,sls offlineinternal server error可以使用serverless deploy

module.exports.getAssembly = (event, context, callback) => {


    mysql.query('SELECT * from assemblies',connection).then((returnedObject)=>{
        const response = {
            statusCode: 200,
            body: JSON.stringify({
                message: returnedObject.results
            }),
        };
        callback(null, response)

    })

}

块的callback(null,response)内部有一些问题.then()promise

4

1 回答 1

2

设置context.callbackWaitsForEmptyEventLoop = false;解决了问题。

于 2018-02-27T11:25:14.833 回答