时间解决了这个问题。
今天我编写了两个非常简单的云函数:1)parent 2)child,parent使用
阿西奥斯
.
我使用了与问题中相同的promise and yield方法(和语法),它似乎很快就起作用了。
我很困惑地回到了原来的代码,它从以前的部署开始工作。
似乎启动起来很困难(上次我给了它一个小时),但今天12点已经过去了。
总结:
-
使用axios调用其他云函数没有问题。
-
这个语法很好
-
部署所需时间超出预期
(这次超过一个小时)去锻炼。我怀疑这是一个例外,不是一个规范。
-
云功能还在测试阶段!
以下是我的测试函数:
孩子:
//handler
export const handlerSimple = (req, res) => {
if (req.method === 'GET') {
return res.json({
"code": "200",
"message": "Success",
"body": "This is child responding"
})
}
}
起源:
require('dotenv').config()
var Promise = require('bluebird')
import axios from 'axios'
let getChildResponse = (req) =>{
let childUrl = [CHILD_CF_URI]
return axios.get(childUrl, {
}).then(response => {
return response.data
})
.catch(err => {
return false
})
}
//handler
export const handlerSimple = (req, res) => {
if (req.method === 'GET') {
Promise.coroutine(function*() {
let response = yield getChildResponse(req)
if(response == false){
return res.json({
"code": "400",
"message": "Error",
"body": "Axios call to child failed"
})
}else{
return res.json({
"code": "200",
"message": "This is parent responding, child in body",
"body": response
})
}
})()
}
}